Contenu push
Découvrez comment configurer les contenus push pour le SDK de Braze.
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. Vous devrez également mettre en place les notifications push, ce qui implique l’implémentation du framework UNNotification
.
Les versions SDK suivantes sont nécessaires pour recevoir des Push Stories :
Mise en place des contenus push
Étape 1 : Ajout de la cible d’extension de contenu de notification
Dans votre projet d’application, sélectionnez Fichier > Nouveau > Cible, ajoutez une nouvelle cible Notification Content Extension
et activez-la.
Xcode doit générer une nouvelle cible pour vous et créer des fichiers automatiquement pour vous, notamment :
NotificationViewController.swift
MainInterface.storyboard
Étape 2 : Activation des capacités
Dans Xcode, ajoutez la capacité Modes d’arrière-plan en utilisant le volet Signature et capacités pour la cible principale de l’application. Sélectionnez les cases à cocher Récupération en arrière-plan et Notifications à distance.
Ajouter un groupe d’applications
De plus, depuis le volet Signature et capacités dans Xcode, ajoutez la capacité Groupes d’applications à votre cible d’application principale ainsi qu’aux cibles d’extension de contenu de notification. Ensuite, cliquez sur le bouton +. Utilisez l’ID de l’ensemble de votre application pour créer le groupe d’applications. Par exemple, si l’ID de l’ensemble de votre application est com.company.appname
, vous pouvez nommer votre groupe d’applications group.com.company.appname.xyz
.
Les groupes d’applications dans ce contexte font référence à l’App Groups Entitlement d’Apple et non à votre identifiant de l’espace de travail Braze (anciennement groupe d’applications).
Si vous n’ajoutez pas votre application à un groupe d’applications, votre application peut ne pas remplir certains champs de la charge utile 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
:
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
Pour savoir comment implémenter des notifications push riches, consultez Notifications enrichies.
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 GitHub, extrayez-le et ajoutez le BrazePushStory.xcframework
à l’Notification Content Extension
de votre projet.
Assurez-vous que Ne pas intégrer est sélectionné pour BrazePushStory.xcframework dans la colonne Intégrer.
Étape 4 : Mise à jour de votre contrôleur de visualisation 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 d’histoire push
Si vous souhaitez implémenter votre propre logique personnalisée pour gérer les événements de notification d’histoire push, héritez de BrazePushStory.NotificationViewController
comme ci-dessus et remplacez 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 |
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)
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. You’ll also need to set up push notifications.
Setting up push stories
Step 1: Create a notification content extension
In your Xcode project, create a notification content extension. For a full walkthrough, see iOS Push Stories Tutorial.
Step 2: Configure your push app group
In your project’s config.xml
file, configure the push app group you just created.
1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />
Replace PUSH_APP_GROUP
with the name of your push app group. Your config.xml
should be similar to the following:
1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
Step 3: Add a new target
Open your Podfile and add BrazePushStory
to the notification content extension target you created previously. To avoid duplicate symbol errors, use static linking.
1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Replace NOTIFICATION_CONTENT_EXTENSION
with the name of your notification content extension. Your Podfile should be similar to the following:
1
2
3
4
target 'MyAppNotificationContentExtension' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Step 4: Reinstall your CocoaPods dependencies
In the terminal, go to your iOS directory and reinstall your CocoaPod dependencies.
1
2
cd PATH_TO_PROJECT/platform/ios
pod install
Prerequisites
Before you can use this feature, you’ll need to integrate the React Native Braze SDK. Vous devrez également configurer les notifications push.
Permettre les contenus push
Pour le SDK React Native, les contenus push sont disponibles 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.
Si vous utilisez les contenus push avec Expo Application Services, assurez-vous d’utiliser l’indicateur EXPO_NO_CAPABILITY_SYNC=1
lors de l’exécution de eas build
. Il existe un problème connu dans la ligne de commande qui supprime la capacité des groupes d’applications du profil de provisionnement de votre extension.