Passer au contenu

Notifications push riches

Découvrez comment mettre en place des notifications push riches pour le SDK de Braze.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Braze Swift. Il vous sera également nécessaire de configurer les notifications push.

Mise en place de notifications push riches

Étape 1 : Créer une extension de service

Pour créer une extension de service de notification, accédez à File > New > Target dans Xcode et sélectionnez Notification Service Extension.

Sélecteur de cible Xcode pour créer une Notification Service Extension pour les notifications push riches.

Assurez-vous que l’option Embed In Application est définie pour intégrer l’extension dans votre application.

Étape 2 : Configurer l’extension de service de notification

Une extension de service de notification est un binaire à part entière, fourni avec votre application. Elle doit être configurée dans l’Apple Developer Portal avec son propre ID d’application et son propre profil de provisionnement.

L’ID de bundle de l’extension de service de notification doit être différent de celui de la cible principale de votre application. Par exemple, si l’ID de bundle de votre application est com.company.appname, vous pouvez utiliser com.company.appname.AppNameServiceExtension pour votre extension de service.

Étape 3 : Ajouter un App Group

Dans Xcode, ajoutez la fonctionnalité App Groups depuis le volet Signing & Capabilities à la cible principale de votre application ainsi qu’à la cible Notification Service Extension. Cliquez ensuite sur le bouton +. Utilisez l’ID de bundle de votre application pour créer l’App Group. Par exemple, si l’ID de bundle de votre application est com.company.appname, vous pouvez nommer votre App Group group.com.company.appname.xyz.

Un App Group partagé est nécessaire pour que votre application principale et la Notification Service Extension puissent accéder à des données partagées. Si vous n’ajoutez pas votre application à un App Group, elle risque de ne pas pouvoir renseigner certains champs à partir du payload push et ne fonctionnera pas entièrement comme prévu.

Étape 4 : Intégrer les notifications push riches

Pour un guide étape par étape sur l’intégration des notifications push riches avec BrazeNotificationService, consultez notre tutoriel.

Pour voir un exemple, consultez l’utilisation de NotificationService dans notre application Examples.

Ajouter le framework de push riche à votre application

Après avoir suivi le guide d’intégration de Swift Package Manager, ajoutez BrazeNotificationService à votre Notification Service Extension en procédant comme suit :

  1. Dans Xcode, sous Frameworks and Libraries, sélectionnez l’icône d’ajout pour ajouter un framework.

    L’icône plus se trouve sous Frameworks and Libraries dans Xcode.

  2. Sélectionnez le framework « BrazeNotificationService ».

    Le framework « BrazeNotificationService » peut être sélectionné dans la fenêtre modale qui s’ouvre.

Ajoutez les lignes suivantes à votre Podfile :

target 'YourAppTarget' do
  pod 'BrazeKit'
  pod 'BrazeUI'
  pod 'BrazeLocation'
end

target 'YourNotificationServiceExtensionTarget' do
  pod 'BrazeNotificationService'
end

# Only include the below if you want to also integrate Push Stories
target 'YourNotificationContentExtensionTarget' do
  pod 'BrazePushStory'
end

Après avoir mis à jour le Podfile, accédez au répertoire de votre projet d’application Xcode dans votre terminal et exécutez pod install.

Pour ajouter BrazeNotificationService.xcframework à votre Notification Service Extension, consultez Intégration manuelle.

Projet Xcode avec BrazeNotificationService.xcframework ajouté à l’extension de service de notification.

Résolution des problèmes des projets Xcode générés

Si vous générez votre projet Xcode avec des outils de build tels que Tuist, vérifiez que le projet généré conserve BrazeNotificationService lié à la cible de votre Notification Service Extension et préserve ses ressources dans le bundle de l’extension. Certaines structures de projet générées peuvent placer les ressources dans des bundles inattendus, ce qui peut empêcher le chargement des ressources de push riche à l’exécution.

Pour obtenir de l’aide, consultez les ressources suivantes :

Utiliser votre propre UNNotificationServiceExtension

Si vous devez utiliser votre propre UNNotificationServiceExtension, vous pouvez plutôt appeler brazeHandle dans votre méthode didReceive.

import BrazeNotificationService
import UserNotifications

class NotificationService: UNNotificationServiceExtension {

  override func didReceive(
    _ request: UNNotificationRequest,
    withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
  ) {
    if brazeHandle(request: request, contentHandler: contentHandler) {
      return
    }

    // Custom handling here

    contentHandler(request.content)
  }
}

Étape 5 : Configurer l’App Group dans Braze

Avant d’initialiser Braze, attribuez le nom de votre App Group à la propriété push.appGroup de votre configuration Braze.

let configuration = Braze.Configuration(apiKey: "<YOUR-BRAZE-API-KEY>",
                                        endpoint: "<YOUR-BRAZE-ENDPOINT>")
configuration.push.appGroup = "REPLACE_WITH_APPGROUP"
let braze = Braze(configuration: configuration)

Étape 6 : Créer une notification riche dans votre tableau de bord

Votre équipe marketing peut également créer des notifications riches depuis le tableau de bord. Créez une notification push à l’aide du compositeur de notifications push et joignez-y une image ou un GIF, ou indiquez une URL qui héberge une image, un GIF ou une vidéo. Notez que les ressources sont téléchargées à la réception des notifications push : si vous hébergez votre contenu, prévoyez donc des pics importants et simultanés de requêtes.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Braze Cordova. Il vous sera également nécessaire de configurer les notifications push.

Mise en place de notifications push riches

Étape 1 : Créer une extension de service de notification

Dans votre projet Xcode, créez une extension de service de notification. Pour un guide complet, consultez le tutoriel iOS Rich Push Notifications.

Étape 2 : Ajouter une nouvelle cible

Ouvrez votre Podfile et ajoutez BrazeNotificationService à la cible de l’extension de service de notification que vous venez de créer. Si BrazeNotificationService est déjà ajouté à une cible, supprimez-le avant de continuer. Pour éviter les erreurs de symboles dupliqués, utilisez la liaison statique.

target 'NOTIFICATION_SERVICE_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Remplacez NOTIFICATION_SERVICE_EXTENSION par le nom de votre extension de service de notification. Votre Podfile devrait ressembler à ce qui suit :

target 'MyAppRichNotificationService' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Étape 3 : Réinstaller vos dépendances CocoaPods

Dans le terminal, accédez au répertoire iOS de votre projet et réinstallez vos dépendances CocoaPods.

cd PATH_TO_PROJECT/platform/ios
pod install

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK React Native de Braze. Il vous sera également nécessaire de configurer les notifications push.

Utiliser Expo pour activer les notifications push riches

Pour le SDK React Native, les notifications push riches sont disponibles par défaut sur Android.

Pour activer les notifications push riches sur iOS à l’aide d’Expo, configurez la propriété enableBrazeIosRichPush sur true dans votre objet expo.plugins dans app.json :

{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosRichPush": true
        }
      ]
    ]
  }
}

Enfin, ajoutez l’identifiant de bundle pour cette extension d’application à la configuration des identifiants de votre projet : <your-app-bundle-id>.BrazeExpoRichPush. Pour plus de détails sur ce processus, consultez Utiliser les extensions d’application avec Expo Application Services.

New Stuff!