Skip to content

Contenu push

Découvrez comment configurer les contenus push pour le SDK de Braze.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Swift Braze. Vous devrez également configurer les notifications push, ce qui implique la mise en œuvre du framework UNNotification.

La version minimale suivante du SDK est requise pour recevoir les contenus push :

Configuration du contenu push

Étape 1 : Ajout de la cible d’extension de contenu de notification

Dans votre projet d’application, accédez au menu File > New > Target, ajoutez une nouvelle cible Notification Content Extension et activez-la.

Xcode doit générer une nouvelle cible pour vous et créer automatiquement des fichiers, notamment :

  • NotificationViewController.swift
  • MainInterface.storyboard

Étape 2 : Activation des capacités

Dans Xcode, ajoutez la capacité Background Modes à la cible principale de l’application à l’aide du volet Signing & Capabilities. Cochez les cases Background fetch et Remote notifications.

Ajouter un groupe d’applications

De plus, à partir du volet Signing & Capabilities dans Xcode, ajoutez la capacité App Groups à votre cible d’application principale ainsi qu’aux cibles Notification Content Extension. Ensuite, cliquez sur le bouton +. Utilisez l’identifiant de bundle de votre application pour créer le groupe d’applications. Par exemple, si l’identifiant de bundle de votre application est com.company.appname, vous pouvez nommer votre groupe d’applications group.com.company.appname.xyz.

Si vous n’ajoutez pas votre application à un groupe d’applications, votre application peut ne pas remplir certains champs du payload de la notification push et ne fonctionnera pas entièrement comme prévu.

Étape 3 : Ajout du framework Push Story à votre application

Après avoir suivi le guide d’intégration du gestionnaire de paquets Swift, ajoutez BrazePushStory à votre Notification Content Extension :

Dans Xcode, sous frameworks et bibliothèques, sélectionnez l'icône « + » pour ajouter un framework.

Ajoutez la ligne suivante à votre Podfile :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
target 'YourAppTarget' do
pod 'BrazeKit'
pod 'BrazeUI'
pod 'BrazeLocation'
end

target 'YourNotificationContentExtensionTarget' do
pod 'BrazePushStory'
end

# Only include the below if you want to also integrate Rich Push
target 'YourNotificationServiceExtensionTarget' do
pod 'BrazeNotificationService'
end

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

Téléchargez le dernier BrazePushStory.zip depuis la page des versions GitHub, extrayez-le et ajoutez le BrazePushStory.xcframework à l’Notification Content Extension de votre projet.

Étape 4 : Mise à jour de votre contrôleur de vue de notification

Dans NotificationViewController.swift, ajoutez la ligne suivante pour importer les fichiers d’en-tête :

1
import BrazePushStory

Ensuite, remplacez l’implémentation par défaut en héritant de BrazePushStory.NotificationViewController :

1
class NotificationViewController: BrazePushStory.NotificationViewController {}

Gestion personnalisée des événements de contenu push

Si vous souhaitez implémenter votre propre logique personnalisée pour gérer les événements de notification de contenu push, héritez de BrazePushStory.NotificationViewController comme ci-dessus et surchargez les méthodes didReceive comme ci-dessous.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import BrazePushStory
import UserNotifications
import UserNotificationsUI

class NotificationViewController: BrazePushStory.NotificationViewController {
  override func didReceive(_ notification: UNNotification) {
    super.didReceive(notification)

    // Custom handling logic
  }

  override func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
    super.didReceive(response, completionHandler: completion)

    // Custom handling logic
  }
}

Étape 5 : Définir le fichier plist de l’extension de contenu de notification

Ouvrez le fichier Info.plist de l’Notification Content Extension, puis ajoutez et modifiez les clés suivantes sous NSExtension \ NSExtensionAttributes :

Clé Type Valeur
UNNotificationExtensionCategory Chaîne de caractères ab_cat_push_story_v2
UNNotificationExtensionDefaultContentHidden Valeur booléenne YES
UNNotificationExtensionInitialContentSizeRatio Nombre 0.6
UNNotificationExtensionUserInteractionEnabled Valeur booléenne YES

Ajoutez également le dictionnaire Braze de niveau supérieur suivant au même fichier Info.plist, en remplaçant REPLACE_WITH_APPGROUP par le groupe d’applications que vous avez créé à l’étape 2 :

Clé Type Valeur
Braze.AppGroup Chaîne de caractères REPLACE_WITH_APPGROUP

Votre fichier Info.plist doit correspondre à l’image suivante :

Étape 6 : Mise à jour de l’intégration Braze dans votre application principale

Avant d’initialiser Braze, assignez le nom de votre groupe d’applications à la propriété push.appGroup de votre configuration Braze.

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

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Braze de Cordova. Vous devrez également configurer les notifications push.

Mise en place de contenus push

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

Dans votre projet Xcode, créez une extension de contenu de notification. Pour obtenir une présentation complète, consultez le tutoriel sur les contenus push iOS.

Étape 2 : Configurez votre groupe d’applications push

Dans le fichier config.xml de votre projet, configurez le groupe d’applications push que vous venez de créer.

1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />

Remplacez PUSH_APP_GROUP par le nom de votre groupe d’applications push. Votre site config.xml devrait ressembler à ce qui suit :

1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />

Étape 3 : Ajouter une nouvelle cible

Ouvrez votre Podfile et ajoutez BrazePushStory à la cible d’extension de contenu de notification que vous avez créée précédemment. Pour éviter les erreurs de symboles dupliqués, utilisez des liens statiques.

1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

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

1
2
3
4
target 'MyAppNotificationContentExtension' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

Étape 4 : Réinstallez vos dépendances CocoaPods

Dans le terminal, allez dans votre répertoire iOS et réinstallez vos dépendances CocoaPod.

1
2
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 Braze. Il vous sera également nécessaire de configurer les notifications push.

Activation du contenu push

Pour le SDK React native, le contenu push est disponible par défaut pour Android.

Pour activer les contenus push sur iOS à l’aide d’Expo, assurez-vous qu’un groupe d’applications est défini pour votre application. Pour plus d’informations, voir Ajouter un groupe d’applications.

Ensuite, configurez la propriété enableBrazeIosPushStories sur true et attribuez votre ID de groupe d’applications à iosPushStoryAppGroup dans votre objet expo.plugins dans app.json :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosPushStories": true,
          "iosPushStoryAppGroup": "group.com.company.myApp.PushStories"
        }
      ]
    ]
  }
}

Enfin, ajoutez l’identifiant du bundle de cette extension d’application à la configuration des informations d’identification de votre projet : <your-app-bundle-id>.BrazeExpoPushStories. Pour plus de détails sur ce processus, reportez-vous à la section Utiliser les extensions d’applications avec Expo Application Services.

New Stuff!