Intégration du SDK de Braze
Découvrez comment intégrer le SDK de Braze dans votre application mobile. Chaque SDK est hébergé dans son propre dépôt public GitHub, qui comprend des exemples d’applications entièrement constructibles que vous pouvez utiliser pour tester les fonctionnalités de Braze ou mettre en œuvre parallèlement à vos propres applications. Pour en savoir plus, consultez les références, les référentiels et les exemples d’applications. Pour plus d’informations générales sur le SDK, consultez le site Getting started : Aperçu de l’intégration.
Intégration du SDK Android
Étape 1 : Mettez à jour votre build.gradle
Dans votre build.gradle, ajoutez mavenCentral() à votre liste de dépôts.
1
2
3
repositories {
mavenCentral()
}
Ensuite, ajoutez Braze à vos dépendances.
Si vous ne prévoyez pas d’utiliser les composants de l’interface utilisateur de Braze, ajoutez le code suivant à votre site build.gradle. Remplacez SDK_VERSION par la version actuelle de votre SDK Braze Android. Pour obtenir la liste complète des versions, consultez le journal des modifications.
1
2
3
4
dependencies {
implementation 'com.braze:android-sdk-base:SDK_VERSION' // (Required) Adds dependencies for the base Braze SDK.
implementation 'com.braze:android-sdk-location:SDK_VERSION' // (Optional) Adds dependencies for Braze location services.
}
Si vous prévoyez d’utiliser ultérieurement les composants de l’interface utilisateur de Braze, ajoutez le code suivant à votre site build.gradle. Remplacez SDK_VERSION par la version actuelle de votre SDK Braze Android. Pour obtenir la liste complète des versions, consultez le journal des modifications.
1
2
3
4
dependencies {
implementation 'com.braze:android-sdk-ui:SDK_VERSION' // (Required) Adds dependencies for the Braze SDK and Braze UI components.
implementation 'com.braze:android-sdk-location:SDK_VERSION' // (Optional) Adds dependencies for Braze location services.
}
Étape 2 : Configurez votre braze.xml
À partir de décembre 2019, les endpoints personnalisés ne sont plus fournis. Si vous disposez d’un endpoint personnalisé préexistant, vous pouvez continuer à l’utiliser. Pour plus de détails, consultez notre liste d’endpoints disponibles.
Créez un fichier braze.xml dans le dossier res/values de votre projet. Si vous êtes sur un cluster de données spécifique ou disposez d’un endpoint personnalisé préexistant, vous devez également spécifier l’endpoint dans votre fichier braze.xml.
Le contenu de ce fichier devrait ressembler à l’extrait de code suivant : Veillez à remplacer YOUR_APP_IDENTIFIER_API_KEY par l’identifiant figurant dans la page Gérer les paramètres du tableau de bord Braze. Connectez-vous à dashboard.braze.com pour trouver l’adresse de votre cluster.
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">YOUR_APP_IDENTIFIER_API_KEY</string>
<string translatable="false" name="com_braze_custom_endpoint">YOUR_CUSTOM_ENDPOINT_OR_CLUSTER</string>
</resources>
Étape 3 : Ajoutez des autorisations à AndroidManifest.xml
Ensuite, ajoutez les permissions suivantes à votre AndroidManifest.xml:
1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Avec la sortie d’Android M, Android est passé d’un modèle d’autorisation de temps d’installation à un de temps d’exécution. Cependant, ces deux autorisations sont normales et accordées automatiquement si elles sont répertoriées dans le manifeste de l’application. Pour plus d’informations, consultez la documentation sur les autorisations d’Android.
Étape 4 : Activer l’initialisation différée (optionnel)
Pour utiliser l’initialisation différée, la version minimale du SDK de Braze est requise :
Lorsque l’initialisation différée est activée, toutes les connexions réseau sont annulées, ce qui empêche le SDK d’envoyer des données aux serveurs de Braze.
Étape 4.1 : Mettez à jour votre braze.xml
L’initialisation différée est désactivée par défaut. Pour l’activer, utilisez l’une des options suivantes :
Dans le fichier braze.xml de votre projet, définissez com_braze_enable_delayed_initialization comme true.
1
<bool name="com_braze_enable_delayed_initialization">true</bool>
Pour activer l’initialisation différée au moment de l’exécution, utilisez la méthode suivante.
1
Braze.enableDelayedInitialization(context);
1
Braze.enableDelayedInitialization(context)
Étape 4.2 : Configurer l’analyse/analytique push (facultatif)
Lorsque l’initialisation différée est activée, les analyses/analytiques push sont mises en file d’attente par défaut. Cependant, vous pouvez choisir de mettre explicitement en file d’attente ou d’abandonner l’ analyse/analytique push (si vous utilisez l’analyse/analytique push).
File d’attente explicite
Pour mettre explicitement en file d’attente l’analyse/analytique push, choisissez l’une des options suivantes :
Dans votre fichier braze.xml, définissez com_braze_delayed_initialization_analytics_behavior comme QUEUE:
1
<string name="com_braze_delayed_initialization_analytics_behavior">QUEUE</string>
Ajoutez QUEUE à votre Braze.enableDelayedInitialization() méthode :
1
Braze.enableDelayedInitialization(context, DelayedInitializationAnalyticsBehavior.QUEUE);
1
Braze.enableDelayedInitialization(context, DelayedInitializationAnalyticsBehavior.QUEUE)
Chute
Pour abandonner l’analyse/analytique push, choisissez l’une des options suivantes :
Dans votre fichier braze.xml, définissez com_braze_delayed_initialization_analytics_behavior comme DROP:
1
<string name="com_braze_delayed_initialization_analytics_behavior">DROP</string>
Ajoutez DROP à la Braze.enableDelayedInitialization() méthode :
1
Braze.enableDelayedInitialization(context, DelayedInitializationAnalyticsBehavior.DROP);
1
Braze.enableDelayedInitialization(context, DelayedInitializationAnalyticsBehavior.DROP)
Étape 4.3 : Initialiser manuellement le SDK
Après le délai que vous avez choisi, utilisez la méthode Braze.disableDelayedInitialization() pour initialiser manuellement le SDK.
1
Braze.disableDelayedInitialization(context);
1
Braze.disableDelayedInitialization(context)
Étape 5 : Activer le suivi de la session de l’utilisateur
Lorsque vous activez le suivi des sessions utilisateur, les appels à openSession(), closeSession(),ensureSubscribedToInAppMessageEvents()et InAppMessageManager peuvent être traités automatiquement.
Pour enregistrer les rappels de cycle de vie des activités, ajoutez le code suivant à la méthode onCreate() de votre classe Application.
1
2
3
4
5
6
7
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
}
}
1
2
3
4
5
6
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener())
}
}
Pour la liste des paramètres disponibles, voir BrazeActivityLifecycleCallbackListener.
Tester le suivi de session
Vous pouvez également utiliser le débogueur SDK pour diagnostiquer les problèmes liés au SDK.
Si vous rencontrez des problèmes lors de vos tests, activez la journalisation en mode verbeux, puis utilisez logcat pour détecter les appels openSession et closeSession manquants dans vos activités.
- Dans Braze, allez dans Aperçu, sélectionnez votre application, puis dans le menu déroulant Afficher les données d’aperçu, choisissez Aujourd’hui.

- Ouvrez votre appli, puis actualisez le tableau de bord de Braze. Vérifiez que vos indicateurs ont augmenté de 1.
- Naviguez dans votre application et vérifiez qu’une seule session a été enregistrée sur Braze.
- Faites passer l’application en arrière-plan pendant au moins 10 secondes, puis ramenez-la au premier plan. Vérifiez qu’une nouvelle session a été enregistrée.
Configurations optionnelles
Configuration du temps d’exécution
Pour définir vos options Braze dans le code plutôt que dans votre fichier braze.xml, utilisez la configuration d’exécution. Si une valeur existe aux deux endroits, c’est la valeur d’exécution qui sera utilisée. Une fois que tous les paramètres requis ont été fournis au moment de l’exécution, vous pouvez supprimer votre fichier braze.xml.
Dans l’exemple suivant, un objet générateur est créé puis transmis à Braze.configure(). Notez que seules quelques-unes des options d’exécution disponibles sont affichées - reportez-vous à notre KDoc pour la liste complète.
1
2
3
4
5
6
7
8
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setApiKey("api-key-here")
.setCustomEndpoint("YOUR_CUSTOM_ENDPOINT_OR_CLUSTER")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
6
7
8
val brazeConfig = BrazeConfig.Builder()
.setApiKey("api-key-here")
.setCustomEndpoint("YOUR_CUSTOM_ENDPOINT_OR_CLUSTER")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.build()
Braze.configure(this, brazeConfig)
Vous cherchez un autre exemple ? Consultez notre exemple d’application Hello Braze.
ID publicitaire Google
L’identifiant publicitaire Google (GAID) est un identifiant publicitaire facultatif, spécifique à l’utilisateur, anonyme, unique et réinitialisable, fourni par les services Google Play. Le GAID permet aux utilisateurs de réinitialiser leur identifiant, de désactiver les publicités axées sur les centres d’intérêt dans les applications Google Play et de fournir aux développeurs un système simple et standard pour continuer à monétiser leurs applications.
L’ID publicitaire Google n’est pas automatiquement collecté par le SDK Braze et doit être défini manuellement via la méthode Braze.setGoogleAdvertisingId().
1
2
3
4
5
6
7
8
9
10
11
new Thread(new Runnable() {
@Override
public void run() {
try {
AdvertisingIdClient.Info idInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext());
Braze.getInstance(getApplicationContext()).setGoogleAdvertisingId(idInfo.getId(), idInfo.isLimitAdTrackingEnabled());
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
suspend fun fetchAndSetAdvertisingId(
context: Context,
scope: CoroutineScope = GlobalScope
) {
scope.launch(Dispatchers.IO) {
try {
val idInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)
Braze.getInstance(context).setGoogleAdvertisingId(
idInfo.id,
idInfo.isLimitAdTrackingEnabled
)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
Google exige que l’ID publicitaire soit collecté sur un fil non-IU.
Suivi de localisation
Pour activer la collecte d’emplacements/localisations de Braze, définissez com_braze_enable_location_collection comme true dans votre fichier braze.xml:
1
<bool name="com_braze_enable_location_collection">true</bool>
À partir de la version 3.6.0 du SDK Braze pour Android, le recueil des données de localisation Braze est désactivé par défaut.
Journalisation
Par défaut, le niveau de journalisation du SDK Android de Braze est défini sur INFO. Vous pouvez supprimer ces journaux ou définir un niveau de journal différent, tel que VERBOSE, DEBUG, ou WARN.
Activation des journaux
Pour faciliter la résolution des problèmes dans votre application ou réduire les délais de résolution des problèmes avec le service d’assistance de Braze, vous devez activer les journaux détaillés pour le SDK. Lorsque vous envoyez des journaux verbeux à l’assistance Braze, veillez à ce qu’ils commencent dès le lancement de votre application et se terminent bien après l’apparition de votre problème.
Gardez à l’esprit que les journaux verbeux ne sont destinés qu’à votre environnement de développement, et que vous devez donc les désactiver avant de rendre votre application publique.
Activez l’option “verbose logs” avant tout autre appel dans Application.onCreate() pour vous assurer que vos logs sont aussi complets que possible.
Pour activer les journaux directement dans votre application, ajoutez ce qui suit à la méthode onCreate() de votre application avant toute autre méthode.
1
BrazeLogger.setLogLevel(Log.MIN_LOG_LEVEL);
1
BrazeLogger.logLevel = Log.MIN_LOG_LEVEL
Remplacez MIN_LOG_LEVEL par la constante du niveau de journalisation que vous souhaitez définir comme niveau de journalisation minimum. Tous les journaux d’un niveau >= au MIN_LOG_LEVEL que vous avez défini seront transmis à la méthode Log par défaut d’Android. Tous les journaux < au MIN_LOG_LEVEL que vous avez défini seront rejetés.
| Constant | Valeur | Description |
|---|---|---|
VERBOSE |
2 | Enregistre les messages les plus détaillés pour le débogage et le développement. |
DEBUG |
3 | Enregistre des messages descriptifs pour le débogage et le développement. |
INFO |
4 | Enregistre des messages d’information pour les faits marquants. |
WARN |
5 | Enregistre les messages d’avertissement pour identifier les situations potentiellement dangereuses. |
ERROR |
6 | Enregistre les messages d’erreur pour indiquer les échecs de l’application ou les problèmes graves. |
ASSERT |
7 | Enregistre les messages d’assertion lorsque les conditions sont fausses pendant le développement. |
Par exemple, le code suivant transmettra les niveaux de journalisation 2, 3, 4, 5, 6 et 7 à la méthode Log.
1
BrazeLogger.setLogLevel(Log.VERBOSE);
1
BrazeLogger.logLevel = Log.VERBOSE
Pour activer les journaux dans le braze.xml, ajoutez ce qui suit à votre fichier :
1
<integer name="com_braze_logger_initial_log_level">MIN_LOG_LEVEL</integer>
Remplacez MIN_LOG_LEVEL par la valeur du niveau de journalisation que vous souhaitez définir comme niveau de journalisation minimum. Tous les journaux d’un niveau >= au MIN_LOG_LEVEL que vous avez défini seront transmis à la méthode Log par défaut d’Android. Tous les journaux < au MIN_LOG_LEVEL que vous avez défini seront rejetés.
| Constant | Valeur | Description |
|---|---|---|
VERBOSE |
2 | Enregistre les messages les plus détaillés pour le débogage et le développement. |
DEBUG |
3 | Enregistre des messages descriptifs pour le débogage et le développement. |
INFO |
4 | Enregistre des messages d’information pour les faits marquants. |
WARN |
5 | Enregistre les messages d’avertissement pour identifier les situations potentiellement dangereuses. |
ERROR |
6 | Enregistre les messages d’erreur pour indiquer les échecs de l’application ou les problèmes graves. |
ASSERT |
7 | Enregistre les messages d’assertion lorsque les conditions sont fausses pendant le développement. |
Par exemple, le code suivant transmettra les niveaux de journalisation 2, 3, 4, 5, 6 et 7 à la méthode Log.
1
<integer name="com_braze_logger_initial_log_level">2</integer>
Vérification des journaux de bord (verbose logs)
Pour vérifier que vos journaux sont définis sur VERBOSE, vérifiez si V/Braze apparaît quelque part dans vos journaux. Si c’est le cas, c’est que l’option de journalisation en mode verbeux a été activée avec succès. Par exemple :
1
2077-11-19 16:22:49.591 ? V/Braze v9.0.01 .bo.app.d3: Request started
Suppression des journaux
Pour supprimer tous les journaux pour le SDK Android de Braze, définissez le niveau de journal sur BrazeLogger.SUPPRESS dans la méthode onCreate() de votre application avant toute autre méthode.
1
BrazeLogger.setLogLevel(BrazeLogger.SUPPRESS);
1
BrazeLogger.setLogLevel(BrazeLogger.SUPPRESS)
Plusieurs clés API
Le cas d’usage le plus fréquent pour les clés API multiples est la séparation des clés API entre les variantes de version de débogage et de publication.
Pour basculer facilement entre plusieurs clés API dans vos versions, nous vous recommandons de créer un fichier braze.xml pour chaque variante de version pertinente. Une variante de version est une combinaison du type de version et de la variété du produit. Par défaut, les nouveaux projets Android sont créés avec les types de constructiondebug et release et sans aucun produit.
Pour chaque variante de création concernée, créez un nouveau site braze.xml dans le répertoire src/<build variant name>/res/values/. Lorsque la variante de version est compilée, elle utilisera la nouvelle clé API.
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="com_braze_api_key">REPLACE_WITH_YOUR_BUILD_VARIANT_API_KEY</string>
</resources>
Pour savoir comment configurer la clé API dans votre code, consultez la rubrique Configuration de l’exécution.
Message in-app exclusif TalkBack
Conformément aux directives d’accessibilité d’Android, le SDK Android de Braze propose par défaut Android Talkback. Pour vous assurer que seul le contenu des messages in-app est lu à haute voix, sans inclure d’autres éléments de l’écran tels que la barre de titre de l’application ou la navigation, vous pouvez activer le mode exclusif pour TalkBack.
Pour activer le mode exclusif pour les messages in-app :
1
<bool name="com_braze_device_in_app_message_accessibility_exclusive_mode_enabled">true</bool>
1
2
3
val brazeConfigBuilder = BrazeConfig.Builder()
brazeConfigBuilder.setIsInAppMessageAccessibilityExclusiveModeEnabled(true)
Braze.configure(this, brazeConfigBuilder.build())
1
2
3
BrazeConfig.Builder brazeConfigBuilder = new BrazeConfig.Builder()
brazeConfigBuilder.setIsInAppMessageAccessibilityExclusiveModeEnabled(true);
Braze.configure(this, brazeConfigBuilder.build());
R8 et ProGuard
La configuration de la réduction du code est automatiquement incluse dans votre intégration de Braze.
Les applications client qui obscurcissent le code Braze doivent stocker des fichiers de mappage de libération pour Braze afin d’interpréter les traces de pile. Si vous souhaitez continuer à conserver tous les codes Braze, ajoutez ce qui suit à votre fichier ProGuard :
1
2
-keep class bo.app.** { *; }
-keep class com.braze.** { *; }
Intégration du SDK Swift
Vous pouvez intégrer et personnaliser le SDK Swift à l’aide du gestionnaire de paquets swift (SPM), de CocoaPods ou de méthodes d’intégration manuelles. Pour plus d’informations sur les différents symboles du SDK, consultez la documentation de référence de Braze Swift.
Conditions préalables
Avant de commencer, vérifiez que votre environnement est pris en charge par la dernière version du SDK Braze Swift.
Étape 1 : Installez le SDK Swift de Braze
Nous vous recommandons d’utiliser le gestionnaire de paquets swift (SwiftPM ) ou CocoaPods pour installer le SDK Swift de Braze. Vous pouvez également installer le SDK manuellement.
Étape 1.1 : Importer la version SDK
Ouvrez votre projet et naviguez vers les paramètres de votre projet. Sélectionnez l’onglet Paquets Swift et cliquez sur le bouton d’ajout sous la liste des paquets.

À partir de la version 7.4.0, le SDK Braze Swift dispose de canaux de distribution supplémentaires sous la forme de XCFrameworks statiques et de XCFrameworks dynamiques. Si vous souhaitez utiliser l’un de ces formats à la place, suivez les instructions d’installation de leur dépôt respectif.
Saisissez l’URL de notre référentiel de SDK Swift iOS https://github.com/braze-inc/braze-swift-sdk dans le champ de texte. Dans la section Dependency Rule (Règle de dépendance), sélectionnez la version du SDK. Enfin, cliquez sur Ajouter un paquet.

Étape 1.2 : Sélectionnez vos paquets
Le SDK Swift de Braze sépare les fonctionnalités en bibliothèques autonomes pour offrir aux développeurs un meilleur contrôle sur les fonctionnalités à importer dans leurs projets.
| Offre | Détails |
|---|---|
BrazeKit |
Bibliothèque SDK principale avec prise en charge des analyses et des notifications push. |
BrazeLocation |
Bibliothèque de localisations avec prise en charge des analyses de localisation et de la surveillance des géorepérages. |
BrazeUI |
Bibliothèque d’interface utilisateur fournie par Braze pour les messages in-app, les cartes de contenu et les bannières. Importez cette bibliothèque si vous avez l’intention d’utiliser les composants d’interface utilisateur par défaut. |
À propos des bibliothèques de vulgarisation
BrazeNotificationService et BrazePushStory sont des modules d’extension qui fournissent des fonctionnalités supplémentaires et ne doivent pas être ajoutés directement à la cible de votre application principale. Suivez plutôt les guides liés pour les intégrer séparément dans leurs extensions cibles respectives.
| Offre | Détails |
|---|---|
BrazeNotificationService |
Bibliothèque d’extension du service de notification prenant en charge les notifications push riches. |
BrazePushStory |
Bibliothèque d’extension de contenu de notification fournissant un support pour les contenus push. |
Sélectionnez le paquet qui correspond le mieux à vos besoins et cliquez sur Ajouter un paquet. Veillez à sélectionner au moins BrazeKit.

Étape 1.1 : Installer CocoaPods
Pour une description complète, consultez le guide de démarrage de CocoaPods. Sinon, vous pouvez exécuter la commande suivante pour commencer rapidement :
1
$ sudo gem install cocoapods
Si vous êtes bloqué, consultez le guide de résolution des problèmes de CocoaPods.
Étape 1.2 : Construction du Podfile
Ensuite, créez un fichier dans le répertoire de votre projet Xcode nommé Podfile.
À partir de la version 7.4.0, le SDK Braze Swift dispose de canaux de distribution supplémentaires sous la forme de XCFrameworks statiques et de XCFrameworks dynamiques. Si vous souhaitez utiliser l’un de ces formats à la place, suivez les instructions d’installation de leur dépôt respectif.
Ajoutez la ligne suivante à votre Podfile :
1
2
3
target 'YourAppTarget' do
pod 'BrazeKit'
end
BrazeKit contient la bibliothèque principale du SDK, avec la prise en charge des analyses et des notifications push.
Nous vous suggérons la version Braze afin que les mises à jour du pod récupèrent automatiquement tout ce qui est plus petit qu’une mise à jour mineure de la version. Cela ressemble à pod 'BrazeKit' ~> Major.Minor.Build. Si vous souhaitez intégrer automatiquement la dernière version de Braze SDK, même avec des modifications majeures, vous pouvez utiliser pod 'BrazeKit' dans votre Podfile.
A propos des bibliothèques supplémentaires
Le SDK Swift de Braze sépare les fonctionnalités en bibliothèques autonomes pour offrir aux développeurs un meilleur contrôle sur les fonctionnalités à importer dans leurs projets. En plus de BrazeKit, vous pouvez ajouter les bibliothèques suivantes à votre Podfile :
| Bibliothèque | Détails |
|---|---|
pod 'BrazeLocation' |
Bibliothèque de localisations avec prise en charge des analyses de localisation et de la surveillance des géorepérages. |
pod 'BrazeUI' |
Bibliothèque d’interface utilisateur fournie par Braze pour les messages in-app, les cartes de contenu et les bannières. Importez cette bibliothèque si vous avez l’intention d’utiliser les composants d’interface utilisateur par défaut. |
Bibliothèques d’extension
BrazeNotificationService et BrazePushStory sont des modules d’extension qui fournissent des fonctionnalités supplémentaires et ne doivent pas être ajoutés directement à la cible de votre application principale. Au lieu de cela, vous devrez créer des cibles d’extension distinctes pour chacun de ces modules et importer les modules Braze dans leurs cibles correspondantes.
| Bibliothèque | Détails |
|---|---|
pod 'BrazeNotificationService' |
Bibliothèque d’extension du service de notification prenant en charge les notifications push riches. |
pod 'BrazePushStory' |
Bibliothèque d’extension de contenu de notification fournissant un support pour les contenus push. |
Étape 1.3 : Installer le SDK
Pour installer le SDK Cocoapod Braze, accédez au répertoire de votre projet d’application Xcode au sein de votre terminal et exécutez la commande suivante :
1
pod install
À ce stade, vous devriez pouvoir ouvrir le nouvel espace de travail du projet Xcode créé par CocoaPods. Assurez-vous d’utiliser cet espace de travail Xcode au lieu de votre projet Xcode.

Mise à jour du SDK à l’aide de CocoaPods
Pour mettre à jour un Cocoapod, il vous suffit de lancer la commande suivante dans votre répertoire de projet :
1
pod update
Étape 1.1 : Téléchargez le SDK Braze
Accédez à la page du SDK Braze sur GitHub, puis téléchargez braze-swift-sdk-prebuilt.zip.

Étape 1.2 : Choisissez vos frameworks
Le SDK Swift Braze contient une série de XCFrameworks autonomes, ce qui vous donne la liberté d’intégrer les fonctionnalités que vous souhaitez sans avoir besoin de toutes les intégrer. Référez-vous au tableau suivant pour choisir vos XCFrameworks :
| Offre | Requis ? | Description |
|---|---|---|
BrazeKit |
Oui | Bibliothèque SDK principale avec prise en charge des analyses et des notifications push. |
BrazeLocation |
Non | Bibliothèque de localisations avec prise en charge des analyses de localisation et de la surveillance des géorepérages. |
BrazeUI |
Non | Bibliothèque d’interface utilisateur fournie par Braze pour les messages in-app, les cartes de contenu et les bannières. Importez cette bibliothèque si vous avez l’intention d’utiliser les composants d’interface utilisateur par défaut. |
BrazeNotificationService |
Non | Bibliothèque d’extension de service de notification qui fournit une prise en charge des notifications push enrichies. N’ajoutez pas cette bibliothèque directement à la cible de votre application principale, mais ajoutez plutôt la bibliothèque BrazeNotificationService séparément. |
BrazePushStory |
Non | Bibliothèque d’extension de contenu de notification qui fournit une prise en charge des Push Stories. N’ajoutez pas cette bibliothèque directement à la cible de votre application principale, mais ajoutez plutôt la bibliothèque BrazePushStory séparément. |
BrazeKitCompat |
Non | Bibliothèque de compatibilité contenant toutes les classes et méthodes Appboy et ABK* qui étaient disponibles dans le Appboy-iOS-SDK version 4.X.X. Pour plus de détails sur l’utilisation, reportez-vous au scénario de migration minimal dans le guide de migration. |
BrazeUICompat |
Non | Bibliothèque de compatibilité contenant toutes les classes et méthodes ABK* qui étaient disponibles dans la bibliothèque AppboyUI du Appboy-iOS-SDK version 4.X.X. Pour plus de détails sur l’utilisation, reportez-vous au scénario de migration minimal dans le guide de migration. |
SDWebImage |
Non | Dépendance utilisée uniquement par BrazeUICompat dans le scénario de migration minimal. |
Étape 1.3 : Préparez vos fichiers
Décidez si vous souhaitez utiliser des XCFrameworks statiques ou dynamiques, puis préparez vos fichiers :
- Créez un répertoire temporaire pour vos XCFrameworks.
- Dans
braze-swift-sdk-prebuilt, ouvrez le répertoiredynamicet déplacezBrazeKit.xcframeworkdans votre répertoire. Votre répertoire devrait être similaire à ce qui suit :1 2
temp_dir └── BrazeKit.xcframework
- Déplacez chacun de vos XCFrameworks choisis dans votre répertoire temporaire. Votre répertoire devrait être similaire à ce qui suit :
1 2 3 4 5
temp_dir ├── BrazeKit.xcframework ├── BrazeKitCompat.xcframework ├── BrazeLocation.xcframework └── SDWebImage.xcframework
Étape 1.4 : Intégrez vos frameworks
Ensuite, intégrez les XCFrameworks dynamiques ou statiques que vous avez préparés précédemment :
Dans votre projet Xcode, sélectionnez votre cible de build, puis Général. Sous Frameworks, bibliothèques et contenu intégré, faites glisser et déposez les fichiers que vous avez préparés précédemment.

À partir du SDK Swift 12.0.0, vous devez toujours sélectionner Embed & Sign pour les XCFrameworks de Braze, tant pour les variantes statiques que dynamiques. Cela permet de s’assurer que les ressources des frameworks sont correctement intégrées dans votre bundle d’application.
Pour activer la prise en charge du format GIF, ajoutez SDWebImage.xcframework, situé dans braze-swift-sdk-prebuilt/static ou braze-swift-sdk-prebuilt/dynamic.
Erreurs courantes pour les projets Objective-C
Si votre projet Xcode ne contient que des fichiers Objective-C, il se peut que vous obteniez des erreurs de « symbole manquant » lorsque vous essayez de créer votre projet. Pour corriger ces erreurs, ouvrez votre projet et ajoutez un fichier Swift vide à votre arborescence de fichiers. Ceci obligera votre chaîne d’outils de création à intégrer Swift Runtime et à lier les frameworks appropriés pendant le temps de création.
1
FILE_NAME.swift
Remplacez FILE_NAME par n’importe quelle chaîne sans espace. Votre fichier devrait ressembler à ce qui suit :
1
empty_swift_file.swift
Étape 2 : Configuration de l’initialisation différée (en option)
Vous pouvez choisir de retarder l’initialisation du SDK Braze Swift, ce qui est utile si votre application doit charger la configuration ou attendre le consentement de l’utilisateur avant de démarrer le SDK. L’initialisation différée garantit que les notifications push de Braze sont mises en file d’attente jusqu’à ce que le SDK soit prêt.
Pour ce faire, appelez Braze.prepareForDelayedInitialization() le plus tôt possible - idéalement à l’intérieur ou avant votre application(_:didFinishLaunchingWithOptions:).
Cela s’applique uniquement aux notifications push de Braze. Les autres notifications push sont gérées normalement par les délégués du système.
1
2
3
4
5
6
7
8
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Prepare the SDK for delayed initialization
Braze.prepareForDelayedInitialization()
// ... Additional non-Braze setup code
return true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor var appDelegate: AppDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// Prepare the SDK for delayed initialization
Braze.prepareForDelayedInitialization()
// ... Additional non-Braze setup code
return true
}
}
1
2
3
4
5
6
7
8
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Prepare the SDK for delayed initialization
[Braze prepareForDelayedInitialization];
// ... Additional non-Braze setup code
return YES;
}
Braze.prepareForDelayedInitialization(pushAutomation:) accepte un paramètre facultatif pushAutomation. Si la valeur est nil, toutes les fonctionnalités d’automatisation du push sont activées, à l’exception de la demande d’autorisation du push au lancement.
Étape 3 : Mettre à jour la délégation de votre application
Ce qui suit suppose que vous avez déjà ajouté un AppDelegate à votre projet (qui n’est pas généré par défaut). Si vous ne prévoyez pas d’en utiliser un, veillez à initialiser le SDK de Braze le plus tôt possible, par exemple lors du lancement de l’application.
Ajoutez la ligne de code suivante à votre fichier AppDelegate.swift pour importer les fonctionnalités incluses dans le SDK Swift de Braze :
1
import BrazeKit
Ensuite, ajoutez une propriété statique à votre classe AppDelegate afin de conserver une référence forte à l’instance de Braze pendant toute la durée de vie de votre application :
1
2
3
class AppDelegate: UIResponder, UIApplicationDelegate {
static var braze: Braze? = nil
}
Enfin, dans AppDelegate.swift, ajoutez l’extrait de code suivant à votre méthode application:didFinishLaunchingWithOptions: :
1
2
3
4
5
6
let configuration = Braze.Configuration(
apiKey: "YOUR-APP-IDENTIFIER-API-KEY",
endpoint: "YOUR-BRAZE-ENDPOINT"
)
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
Mettez à jour YOUR-APP-IDENTIFIER-API-KEY et YOUR-BRAZE-ENDPOINT avec la valeur correcte à partir de la page Paramètres de l’application. Consultez nos types d’identifiants d’API pour plus d’informations sur l’endroit où trouver la clé API de votre identifiant d’appli.
Ajoutez la ligne de code suivante à votre fichier AppDelegate.m :
1
@import BrazeKit;
Ensuite, ajoutez une variable statique à votre fichier AppDelegate.m afin de conserver une référence à l’instance de Braze pendant toute la durée de vie de votre application :
1
2
3
4
5
6
7
8
9
10
11
static Braze *_braze;
@implementation AppDelegate
+ (Braze *)braze {
return _braze;
}
+ (void)setBraze:(Braze *)braze {
_braze = braze;
}
@end
Enfin, dans votre fichier AppDelegate.m, ajoutez l’extrait de code suivant dans votre méthode application:didFinishLaunchingWithOptions: :
1
2
3
4
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:"YOUR-APP-IDENTIFIER-API-KEY"
endpoint:"YOUR-BRAZE-ENDPOINT"];
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
AppDelegate.braze = braze;
Mettez à jour YOUR-APP-IDENTIFIER-API-KEY et YOUR-BRAZE-ENDPOINT avec la valeur correcte à partir de votre page Gérer les paramètres. Consultez notre documentation sur l’API pour savoir où trouver la clé API de votre identifiant d’application.
Configurations optionnelles
Journalisation
Niveaux de journalisation
Le niveau de journalisation par défaut pour le SDK Braze Swift est .error- c’est également le niveau minimum pris en charge lorsque les journaux sont activés. Voici la liste complète des niveaux de journalisation :
| Swift | Objectif-C | Description |
|---|---|---|
.debug |
BRZLoggerLevelDebug |
(Par défaut) Enregistre les informations de débogage + .info + .error. |
.info |
BRZLoggerLevelInfo |
Enregistrer des informations générales sur le SDK (changements au niveau des utilisateurs, etc.) + .error. |
.error |
BRZLoggerLevelError |
Erreurs de journalisation. |
.disabled |
BRZLoggerLevelDisabled |
Aucun enregistrement n’a lieu. |
Réglage du niveau de journalisation
Vous pouvez attribuer le niveau de journalisation au moment de l’exécution dans votre objet Braze.Configuration. Pour plus de détails sur l’utilisation, voir Braze.Configuration.Logger.
1
2
3
4
5
6
7
let configuration = Braze.Configuration(
apiKey: "<BRAZE_API_KEY>",
endpoint: "<BRAZE_ENDPOINT>"
)
// Enable logging of general SDK information (such as user changes, etc.)
configuration.logger.level = .info
let braze = Braze(configuration: configuration)
1
2
3
4
5
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:self.APIKey
endpoint:self.apiEndpoint];
// Enable logging of general SDK information (such as user changes, etc.)
[configuration.logger setLevel:BRZLoggerLevelInfo];
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
À propos du SDK de Braze
Le SDK Web Braze vous permet de collecter des analyses/analytiques et d’afficher des messages in-app riches, des messages push et des cartes de contenu à vos utilisateurs web. Pour plus d’informations, consultez la documentation de référence JavaScript de Braze.
This guide uses code samples from the Braze Web SDK 4.0.0+. To upgrade to the latest Web SDK version, see SDK Upgrade Guide.
Intégration du SDK Web
Vous pouvez intégrer le SDK de Braze Web à l’aide des méthodes suivantes. Pour d’autres options, voir les autres méthodes d’intégration.
- L’intégration basée sur le code : Intégrez le SDK Braze directement dans votre base de code à l’aide de votre gestionnaire de paquets préféré ou du réseau de diffusion de Braze. Vous aurez ainsi un contrôle total sur le chargement et la configuration du SDK.
- Google Tag Manager : Une solution sans code qui vous permet d’intégrer le SDK de Braze sans modifier le code de votre site. Pour plus d’informations, consultez Google Tag Manager avec le SDK de Braze.
Étape 1 : Installer la bibliothèque Braze
Vous pouvez installer la bibliothèque Braze en utilisant l’une des méthodes suivantes. Toutefois, si votre site web utilise un site Content-Security-Policy, examinez la politique de sécurité du contenu avant de continuer.
La plupart des bloqueurs de publicité ne bloqueront pas le SDK Braze Web, mais certains bloqueurs de publicité plus restrictifs sont connus pour causer des problèmes.
Si votre site utilise les gestionnaires de paquets NPM ou Yarn, vous pouvez ajouter le paquet NPM de Braze comme dépendance.
Les définitions TypeScript sont désormais comprises dans la version v3.0.0. Pour obtenir les notes sur la mise à jour de 2.x vers 3.x, consultez notre journal des modifications.
1
2
3
npm install --save @braze/web-sdk
# or, using yarn:
# yarn add @braze/web-sdk
Une fois installé, vous pouvez import ou require la bibliothèque de la manière habituelle :
1
2
3
import * as braze from "@braze/web-sdk";
// or, using `require`
const braze = require("@braze/web-sdk");
Ajoutez le SDK Braze pour le Web directement à votre code HTML en faisant référence à notre script hébergé par le CDN (réseau de diffusion de contenu), qui charge la bibliothèque asynchrone.
Étape 2 : Initialiser le SDK
Une fois le SDK Web de Braze ajouté à votre site Web, initialisez la bibliothèque à l’aide de la clé API et de l’URL de l’endpoint du SDK que vous trouverez dans Paramètres > Paramètres de l’application dans votre tableau de bord de Braze. Pour obtenir une liste complète des options de braze.initialize(), ainsi que de nos autres méthodes JavaScript, consultez la documentation JavaScript de Braze.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// initialize the SDK
braze.initialize('YOUR-API-KEY-HERE', {
baseUrl: "YOUR-SDK-ENDPOINT-HERE",
enableLogging: false, // set to `true` for debugging
allowUserSuppliedJavascript: false, // set to `true` to support custom HTML messages
});
// optionally show all in-app messages without custom handling
braze.automaticallyShowInAppMessages();
// if you use Content Cards
braze.subscribeToContentCardsUpdates(function(cards){
// cards have been updated
});
// optionally set the current user's external ID before starting a new session
// you can also call `changeUser` later in the session after the user logs in
if (isLoggedIn){
braze.changeUser(userIdentifier);
}
// `openSession` should be called last - after `changeUser` and `automaticallyShowInAppMessages`
braze.openSession();
Les utilisateurs anonymes sur des appareils mobiles ou web peuvent être comptabilisés dans votre MAU. Par conséquent, vous pouvez charger ou initialiser conditionnellement le SDK pour exclure ces utilisateurs de votre décompte de MAU.
Conditions préalables
Avant de pouvoir utiliser cette méthode d’intégration, vous devez créer un compte et un conteneur pour Google Tag Manager.
Étape 1 : Ouvrez la galerie de modèles d’étiquettes
Dans Google Tag Manager, choisissez votre espace de travail, puis sélectionnez Modèles. Dans la sous-fenêtre Modèle d’étiquette, sélectionnez Galerie de recherche.

Étape 2 : Ajouter le modèle d’étiquette d’initialisation
Dans la galerie de modèles, recherchez braze-inc, puis sélectionnez Braze Initialization Tag.

Sélectionnez Ajouter à l’espace de travail > Ajouter.

Étape 3 : Configurer l’étiquette
Dans la section Modèles, sélectionnez le modèle que vous venez d’ajouter.

Sélectionnez l’icône en forme de crayon pour ouvrir le menu déroulant Configuration des étiquettes.

Saisissez les informations minimales requises :
| Champ | Description |
|---|---|
| Clé API | Votre clé API Braze, que vous trouverez dans le tableau de bord de Braze sous Paramètres > Paramètres de l’application. |
| Endpoint de l’API | L’URL de votre endpoint REST. Votre endpoint dépendra de l’URL de Braze pour votre instance. |
| Version du SDK | La version MAJOR.MINOR la plus récente du SDK Braze Web figurant dans le journal des modifications. Par exemple, si la dernière version est 4.1.2, saisissez 4.1. Pour plus d’informations, voir À propos de la gestion des versions du SDK. |
Pour des paramètres d’initialisation supplémentaires, sélectionnez Options d’initialisation de Braze et choisissez les options dont vous avez besoin.

Étape 4 : Réglé sur Déclencheur sur toutes les pages
L’étiquette d’initialisation doit être exécutée sur toutes les pages de votre site. Cela vous permet d’utiliser les méthodes du SDK de Braze et d’enregistrer les analyses/analytiques du web push.
Étape 5 : Vérifiez votre intégration
Vous pouvez vérifier votre intégration en utilisant l’une des options suivantes :
- Option 1 : Grâce à l’ outil de débogage de Google Tag Manager, vous pouvez vérifier si l’étiquette d’initialisation Braze se déclenche correctement sur vos pages ou événements configurés.
- Option 2 : Vérifiez si des requêtes réseau sont adressées à Braze depuis votre page web. En outre, la bibliothèque globale
window.brazedoit maintenant être définie.
Configurations optionnelles
Journalisation
Pour activer rapidement la journalisation, vous pouvez ajouter ?brazeLogging=true comme paramètre à l’URL de votre site web. Vous pouvez également activer la journalisation de base ou personnalisée.
Journalisation de base
Utilisez enableLogging pour enregistrer des messages de débogage de base dans la console JavaScript avant l’initialisation du SDK.
1
enableLogging: true
Votre méthode doit être similaire à la suivante :
1
2
3
4
5
braze.initialize('API-KEY', {
baseUrl: 'API-ENDPOINT',
enableLogging: true
});
braze.openSession();
Utilisez braze.toggleLogging() pour enregistrer des messages de débogage de base dans la console JavaScript après l’initialisation du SDK. Votre méthode doit être similaire à la suivante :
1
2
3
4
5
6
braze.initialize('API-KEY', {
baseUrl: 'API-ENDPOINT',
});
braze.openSession();
...
braze.toggleLogging();
Les journaux de base sont visibles par tous les utilisateurs, il faut donc envisager de les désactiver ou de passer à setLoggeravant de mettre votre code en production.
Journalisation personnalisée
Utilisez setLogger pour enregistrer des messages de débogage personnalisés dans la console JavaScript. Contrairement aux journaux de base, ces journaux ne sont pas visibles par les utilisateurs.
1
setLogger(loggerFunction: (message: STRING) => void): void
Remplacez STRING par votre message sous la forme d’une chaîne de caractères unique. Votre méthode doit être similaire à la suivante :
1
2
3
4
5
braze.initialize('API-KEY');
braze.setLogger(function(message) {
console.log("Braze Custom Logger: " + message);
});
braze.openSession();
Mise à niveau du SDK
This guide uses code samples from the Braze Web SDK 4.0.0+. To upgrade to the latest Web SDK version, see SDK Upgrade Guide.
Lorsque vous consultez le SDK Braze pour le Web de notre réseau de diffusion de contenu, par exemple, https://js.appboycdn.com/web-sdk/a.a/braze.min.js (tel que recommandé par nos instructions d’intégration par défaut), vos utilisateurs recevront des mises à jour mineures (correctifs de bogues et fonctions rétrocompatibles, versions) a.a.a par a.a.z dans les exemples ci-dessus) automatiquement lorsqu’ils actualisent votre site.
Cependant, lorsque nous publions des changements majeurs, nous vous demandons de mettre à niveau manuellement le SDK Braze pour le Web afin de vous assurer que rien dans votre intégration ne sera affecté par des pannes. De plus, si vous téléchargez notre SDK et l’hébergez vous-même, vous ne recevrez aucune mise à jour automatique et vous devrez le mettre à niveau manuellement pour obtenir les dernières fonctionnalités et corrections de bogues.
Vous pouvez vous tenir au courant de notre dernière version en suivant notre flux de publication avec le lecteur RSS ou le service de votre choix, et consulter notre journal des modifications pour un compte-rendu complet de l’historique des versions de notre SDK Web. Pour mettre à niveau le SDK Braze pour le Web :
- Mettez à jour la version de la bibliothèque Braze en modifiant le numéro de version de
https://js.appboycdn.com/web-sdk/[OLD VERSION NUMBER]/braze.min.jsou dans les dépendances de votre responsable de packages. - Si vous avez intégré des notifications push pour le Web, mettez à jour le fichier du service de traitement sur votre site. Par défaut, ce paramètre est situé à
/service-worker.jsdans le répertoire racine de votre site, mais l’emplacement peut être personnalisé dans certaines intégrations. Vous devez accéder au répertoire racine pour héberger un fichier de service de traitement.
Ces deux fichiers doivent être mis à jour en coordination l’un avec l’autre pour fonctionner correctement.
Autres méthodes d’intégration
Pages mobiles accélérées (AMP)
Voir plus d’informations
Étape 1 : Inclure le script de notification push pour le Web en AMP
Ajoutez la balise de script asynchrone suivante à votre en-tête :
1
<script async custom-element="amp-web-push" src="https://cdn.ampproject.org/v0/amp-web-push-0.1.js"></script>
Étape 2 : Ajouter des widgets d’abonnement
Ajoutez un widget dans le corps de votre HTML qui permet aux utilisateurs de s’abonner et de se désabonner de push.
1
2
3
4
5
6
7
8
9
<!-- A subscription widget -->
<amp-web-push-widget visibility="unsubscribed" layout="fixed" width="250" height="80">
<button on="tap:amp-web-push.subscribe">Subscribe to Notifications</button>
</amp-web-push-widget>
<!-- An unsubscription widget -->
<amp-web-push-widget visibility="subscribed" layout="fixed" width="250" height="80">
<button on="tap:amp-web-push.unsubscribe">Unsubscribe from Notifications</button>
</amp-web-push-widget>
Étape 3 : Ajoutez helper-iframe et permission-dialog
Le composant AMP Web Push crée une fenêtre contextuelle pour gérer les abonnements push. Vous devrez donc ajouter les fichiers d’aide suivants à votre projet pour activer cette fonctionnalité :
Étape 4 : Créer un fichier de service de traitement
Créez un fichier service-worker.js dans le répertoire racine de votre site web et ajoutez l’extrait de code suivant :
Étape 5 : Configurer l’élément HTML des notifications push pour le Web en AMP
Ajoutez l’élément HTML amp-web-push suivant au corps de votre HTML. Gardez à l’esprit que vous devez ajouter vos apiKey et baseUrl en tant que paramètres de requête à service-worker-URL.
1
2
3
4
5
6
7
<amp-web-push
layout="nodisplay"
id="amp-web-push"
helper-iframe-url="FILE_PATH_TO_YOUR_HELPER_IFRAME"
permission-dialog-url="FILE_PATH_TO_YOUR_PERMISSION_DIALOG"
service-worker-url="FILE_PATH_TO_YOUR_SERVICE_WORKER?apiKey={YOUR_API_KEY}&baseUrl={YOUR_BASE_URL}"
>
Définition du module asynchrone (AMD)
Désactiver le soutien
Si votre site utilise RequireJS ou un autre chargeur de modules AMD, mais que vous préférez charger le SDK Braze via l’une des autres options de cette liste, vous pouvez charger une version de la bibliothèque qui n’inclut pas la prise en charge AMD. Il est possible de charger cette version de la bibliothèque depuis l’endroit suivant du CDN :
Chargeur de modules
Si vous utilisez RequireJS ou d’autres chargeurs de module AMD, nous vous recommandons d’auto-héberger une copie de notre bibliothèque et de la référencer comme vous le feriez avec d’autres ressources :
1
2
3
4
5
require(['path/to/braze.min.js'], function(braze) {
braze.initialize('YOUR-API-KEY-HERE', { baseUrl: 'YOUR-SDK-ENDPOINT' });
braze.automaticallyShowInAppMessages();
braze.openSession();
});
Electron
Electron ne prend pas officiellement en charge les notifications push Web (voir ce problème GitHub). Il existe d’autres solutions de contournement open source que vous pouvez essayer mais qui n’ont pas été testées par Braze.
Cadre Jest
Lorsque vous utilisez Jest, vous pouvez visualiser une erreur similaire à SyntaxError: Unexpected token 'export'. Pour la réparer, ajustez votre configuration dans package.json pour ignorer le Braze SDK :
1
2
3
4
5
"jest": {
"transformIgnorePatterns": [
"/node_modules/(?!@braze)"
]
}
Cadres de la RSS
Si vous utilisez un cadre de rendu côté serveur (SSR) tel que Next.js, vous risquez de rencontrer des erreurs car le SDK est conçu pour être exécuté dans un environnement de navigateur. Vous pouvez résoudre ces problèmes en important le SDK de façon dynamique.
Vous pouvez conserver les bénéfices du nettoyage lorsque vous y procédez en exportant les parties du SDK dont vous avez besoin dans un fichier séparé et en important ensuite de façon dynamique ce fichier dans votre composant.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// MyComponent/braze-exports.js
// export the parts of the SDK you need here
export { initialize, openSession } from "@braze/web-sdk";
// MyComponent/MyComponent.js
// import the functions you need from the braze exports file
useEffect(() => {
import("./braze-exports.js").then(({ initialize, openSession }) => {
initialize("YOUR-API-KEY-HERE", {
baseUrl: "YOUR-SDK-ENDPOINT",
enableLogging: true,
});
openSession();
});
}, []);
Alternativement, si vous utilisez un pack Web pour regrouper votre application, vous pouvez tirer parti de ses commentaires magiques pour importer de façon dynamique uniquement les parties du SDK dont vous avez besoin.
1
2
3
4
5
6
7
8
9
10
11
12
13
// MyComponent.js
useEffect(() => {
import(
/* webpackExports: ["initialize", "openSession"] */
"@braze/web-sdk"
).then(({ initialize, openSession }) => {
initialize("YOUR-API-KEY-HERE", {
baseUrl: "YOUR-SDK-ENDPOINT",
enableLogging: true,
});
openSession();
});
}, []);
Tealium iQ
Tealium iQ propose une intégration de base de Braze. Pour configurer l’intégration, recherchez Braze dans l’interface Tealium Tag Management et fournissez la clé API du SDK pour le Web à partir de votre tableau de bord.
Pour plus de détails ou une assistance approfondie sur la configuration de Tealium, consultez notre documentation sur l’intégration ou contactez votre gestionnaire de compte Tealium.
Vite
Si vous utilisez Vite et voyez un avertissement autour des dépendances circulaires ou Uncaught TypeError: Class extends value undefined is not a constructor or null, vous pourriez devoir exclure le SDK de Braze de sa découverte de dépendance :
1
2
3
optimizeDeps: {
exclude: ['@braze/web-sdk']
},
Autres gestionnaires de balises
Braze peut également être compatible avec d’autres solutions de gestion des balises en suivant nos instructions d’intégration au sein d’une balise HTML personnalisée. Contactez un conseiller Braze si vous avez besoin d’aide pour évaluer ces solutions.
Integrating the Cordova SDK
Prerequisites
Before you start, verify your environment is supported by the latest Braze Cordova SDK version.
Step 1: Add the SDK to your project
Only add the Braze Cordova SDK using the methods below. Do not attempt to install using other methods as it could lead to a security breach.
If you’re on Cordova 6 or later, you can add the SDK directly from GitHub. Alternatively, you can download a ZIP of the GitHub repository and add the SDK manually.
If you don’t plan on using location collection and geofences, use the master branch from GitHub.
1
cordova plugin add https://github.com/braze-inc/braze-cordova-sdk#master
If you plan on using location collection and geofences, use the geofence-branch from GitHub.
1
cordova plugin add https://github.com/braze-inc/braze-cordova-sdk#geofence-branch
You can switch between master and geofence-branch at anytime by repeating this step.
Step 2: Configure your project
Next, adding the following preferences to the platform element in your project’s config.xml file.
1
2
<preference name="com.braze.ios_api_key" value="BRAZE_API_KEY" />
<preference name="com.braze.ios_api_endpoint" value="CUSTOM_API_ENDPOINT" />
1
2
<preference name="com.braze.android_api_key" value="BRAZE_API_KEY" />
<preference name="com.braze.android_api_endpoint" value="CUSTOM_API_ENDPOINT" />
Replace the following:
| Value | Description |
|---|---|
BRAZE_API_KEY |
Your Braze REST API key. |
CUSTOM_API_ENDPOINT |
A custom API endpoint. This endpoint is used to route your Braze instance data to the correct App Group in your Braze dashboard. |
The platform element in your config.xml file should be similar to the following:
1
2
3
4
<platform name="ios">
<preference name="com.braze.ios_api_key" value="BRAZE_API_KEY" />
<preference name="com.braze.ios_api_endpoint" value="sdk.fra-01.braze.eu" />
</platform>
1
2
3
4
<platform name="android">
<preference name="com.braze.android_api_key" value="BRAZE_API_KEY" />
<preference name="com.braze.android_api_endpoint" value="sdk.fra-01.braze.eu" />
</platform>
Platform-specific syntax
The following section covers the platform-specific syntax when using Cordova with iOS or Android.
Integers
Integer preferences are read as string representations, like in the following example:
1
2
3
4
<platform name="ios">
<preference name="com.braze.ios_flush_interval_seconds" value="10" />
<preference name="com.braze.ios_session_timeout" value="5" />
</platform>
Due to how the Cordova 8.0.0+ framework handles preferences, integer-only preferences (such as sender IDs) must be set to strings prepended with str_, like in the following example:
1
2
3
4
<platform name="android">
<preference name="com.braze.android_fcm_sender_id" value="str_64422926741" />
<preference name="com.braze.android_default_session_timeout" value="str_10" />
</platform>
Booleans
Boolean preferences are read by the SDK using YES and NO keywords as a string representation, like in the following example:
1
2
3
4
<platform name="ios">
<preference name="com.braze.should_opt_in_when_push_authorized" value="YES" />
<preference name="com.braze.ios_disable_automatic_push_handling" value="NO" />
</platform>
Boolean preferences are read by the SDK using true and false keywords as a string representation, like in the following example:
1
2
3
4
<platform name="android">
<preference name="com.braze.should_opt_in_when_push_authorized" value="true" />
<preference name="com.braze.is_session_start_based_timeout_enabled" value="false" />
</platform>
Optional configurations
You can add any of the following preferences to the platform element in your project’s config.xml file:
| Method | Description |
|---|---|
ios_api_key |
Sets the API key for your application. |
ios_api_endpoint |
Sets the SDK endpoint for your application. |
ios_disable_automatic_push_registration |
Sets whether automatic push registration should be disabled. |
ios_disable_automatic_push_handling |
Sets whether automatic push handling should be disabled. |
ios_enable_idfa_automatic_collection |
Sets whether the Braze SDK should automatically collect the IDFA information. For more information, see the Braze IDFA method documentation. |
enable_location_collection |
Sets whether the automatic location collection is enabled (if the user permits). The geofence-branch |
geofences_enabled |
Sets whether geofences are enabled. |
ios_session_timeout |
Sets the Braze session timeout for your application in seconds. Defaults to 10 seconds. |
sdk_authentication_enabled |
Sets whether to enable the SDK Authentication feature. |
display_foreground_push_notifications |
Sets whether push notifications should be displayed while the application is in the foreground. |
ios_disable_un_authorization_option_provisional |
Sets whether UNAuthorizationOptionProvisional should be disabled. |
trigger_action_minimum_time_interval_seconds |
Sets the minimum time interval in seconds between triggers. Defaults to 30 seconds. |
ios_push_app_group |
Sets the app group ID for iOS push extensions. |
ios_forward_universal_links |
Sets if the SDK should automatically recognize and forward universal links to the system methods. |
ios_log_level |
Sets the minimum logging level for Braze.Configuration.Logger. |
ios_use_uuid_as_device_id |
Sets if a randomly generated UUID should be used as the device ID. |
ios_flush_interval_seconds |
Sets the interval in seconds between automatic data flushes. Defaults to 10 seconds. |
ios_use_automatic_request_policy |
Sets whether the request policy for Braze.Configuration.Api should be automatic or manual. |
should_opt_in_when_push_authorized |
Sets if a user’s notification subscription state should automatically be set to optedIn when push permissions are authorized. |
For more detailed information, see GitHub: Braze iOS Cordova plugin.
| Method | Description |
|---|---|
android_api_key |
Sets the API key for your application. |
android_api_endpoint |
Sets the SDK endpoint for your application. |
android_small_notification_icon |
Sets the notification small icon. |
android_large_notification_icon |
Sets the notification large icon. |
android_notification_accent_color |
Sets the notification accent color using a hexadecimal representation. |
android_default_session_timeout |
Sets the Braze session timeout for your application in seconds. Defaults to 10 seconds. |
android_handle_push_deep_links_automatically |
Sets whether the Braze SDK should automatically handle push deep links. |
android_log_level |
Sets the log level for your application. The default log level is 4 and will minimally log info. To enable verbose logging for debugging, use log level 2. |
firebase_cloud_messaging_registration_enabled |
Sets whether to use Firebase Cloud Messaging for push notifications. |
android_fcm_sender_id |
Sets the Firebase Cloud Messaging sender ID. |
enable_location_collection |
Sets whether the automatic location collection is enabled (if the user permits). |
geofences_enabled |
Sets whether geofences are enabled. |
android_disable_auto_session_tracking |
Disable the Android Cordova plugin from automatically tracking sessions. For more information, see Disabling automatic session tracking |
sdk_authentication_enabled |
Sets whether to enable the SDK Authentication feature. |
trigger_action_minimum_time_interval_seconds |
Sets the minimum time interval in seconds between triggers. Defaults to 30 seconds. |
is_session_start_based_timeout_enabled |
Sets whether the session timeout behavior to be based either on session start or session end events. |
default_notification_channel_name |
Sets the user-facing name as seen via NotificationChannel.getName for the Braze default NotificationChannel. |
default_notification_channel_description |
Sets the user-facing description as seen via NotificationChannel.getDescription for the Braze default NotificationChannel. |
does_push_story_dismiss_on_click |
Sets whether a Push Story is automatically dismissed when clicked. |
is_fallback_firebase_messaging_service_enabled |
Sets whether the use of a fallback Firebase Cloud Messaging Service is enabled. |
fallback_firebase_messaging_service_classpath |
Sets the classpath for the fallback Firebase Cloud Messaging Service. |
is_content_cards_unread_visual_indicator_enabled |
Sets whether the Content Cards unread visual indication bar is enabled. |
is_firebase_messaging_service_on_new_token_registration_enabled |
Sets whether the Braze SDK will automatically register tokens in com.google.firebase.messaging.FirebaseMessagingService.onNewToken. |
is_push_deep_link_back_stack_activity_enabled |
Sets whether Braze will add an activity to the back stack when automatically following deep links for push. |
push_deep_link_back_stack_activity_class_name |
Sets the activity that Braze will add to the back stack when automatically following deep links for push. |
should_opt_in_when_push_authorized |
Sets if Braze should automatically opt-in the user when push is authorized. |
For more detailed information, see GitHub: Braze Android Cordova plugin.
The following is an example config.xml file with additional configurations:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<platform name="ios">
<preference name="com.braze.ios_disable_automatic_push_registration" value="NO"/"YES" />
<preference name="com.braze.ios_disable_automatic_push_handling" value="NO"/"YES" />
<preference name="com.braze.ios_enable_idfa_automatic_collection" value="YES"/"NO" />
<preference name="com.braze.enable_location_collection" value="NO"/"YES" />
<preference name="com.braze.geofences_enabled" value="NO"/"YES" />
<preference name="com.braze.ios_session_timeout" value="5" />
<preference name="com.braze.sdk_authentication_enabled" value="YES"/"NO" />
<preference name="com.braze.display_foreground_push_notifications" value="YES"/"NO" />
<preference name="com.braze.ios_disable_un_authorization_option_provisional" value="NO"/"YES" />
<preference name="com.braze.trigger_action_minimum_time_interval_seconds" value="30" />
<preference name="com.braze.ios_push_app_group" value="PUSH_APP_GROUP_ID" />
<preference name="com.braze.ios_forward_universal_links" value="YES"/"NO" />
<preference name="com.braze.ios_log_level" value="2" />
<preference name="com.braze.ios_use_uuid_as_device_id" value="YES"/"NO" />
<preference name="com.braze.ios_flush_interval_seconds" value="10" />
<preference name="com.braze.ios_use_automatic_request_policy" value="YES"/"NO" />
<preference name="com.braze.should_opt_in_when_push_authorized" value="YES"/"NO" />
</platform>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<platform name="android">
<preference name="com.braze.android_small_notification_icon" value="RESOURCE_ENTRY_NAME_FOR_ICON_DRAWABLE" />
<preference name="com.braze.android_large_notification_icon" value="RESOURCE_ENTRY_NAME_FOR_ICON_DRAWABLE" />
<preference name="com.braze.android_notification_accent_color" value="str_ACCENT_COLOR_INTEGER" />
<preference name="com.braze.android_default_session_timeout" value="str_SESSION_TIMEOUT_INTEGER" />
<preference name="com.braze.android_handle_push_deep_links_automatically" value="true"/"false" />
<preference name="com.braze.android_log_level" value="str_LOG_LEVEL_INTEGER" />
<preference name="com.braze.firebase_cloud_messaging_registration_enabled" value="true"/"false" />
<preference name="com.braze.android_fcm_sender_id" value="str_YOUR_FCM_SENDER_ID" />
<preference name="com.braze.enable_location_collection" value="true"/"false" />
<preference name="com.braze.geofences_enabled" value="true"/"false" />
<preference name="com.braze.android_disable_auto_session_tracking" value="true"/"false" />
<preference name="com.braze.sdk_authentication_enabled" value="true"/"false" />
<preference name="com.braze.trigger_action_minimum_time_interval_seconds" value="str_MINIMUM_INTERVAL_INTEGER" />
<preference name="com.braze.is_session_start_based_timeout_enabled" value="false"/"true" />
<preference name="com.braze.default_notification_channel_name" value="DEFAULT_NAME" />
<preference name="com.braze.default_notification_channel_description" value="DEFAULT_DESCRIPTION" />
<preference name="com.braze.does_push_story_dismiss_on_click" value="true"/"false" />
<preference name="com.braze.is_fallback_firebase_messaging_service_enabled" value="true"/"false" />
<preference name="com.braze.fallback_firebase_messaging_service_classpath" value="FALLBACK_FIREBASE_MESSAGING_CLASSPATH" />
<preference name="com.braze.is_content_cards_unread_visual_indicator_enabled" value="true"/"false" />
<preference name="com.braze.is_firebase_messaging_service_on_new_token_registration_enabled" value="true"/"false" />
<preference name="com.braze.is_push_deep_link_back_stack_activity_enabled" value="true"/"false" />
<preference name="com.braze.push_deep_link_back_stack_activity_class_name" value="DEEPLINK_BACKSTACK_ACTIVITY_CLASS_NAME" />
<preference name="com.braze.should_opt_in_when_push_authorized" value="true"/"false" />
</platform>
Disabling automatic session tracking (Android only)
By default, the Android Cordova plugin automatically tracks sessions. To disable automatic session tracking, add the following preference to the platform element in your project’s config.xml file:
1
2
3
<platform name="android">
<preference name="com.braze.android_disable_auto_session_tracking" value="true" />
</platform>
To start tracking sessions again, call BrazePlugin.startSessionTracking(). Keep in mind, only sessions started after the next Activity.onStart() will be tracked.
À propos du SDK de Flutter Braze
Après avoir intégré le SDK Flutter de Braze sur Android et iOS, vous pourrez utiliser l’API de Braze au sein de vos applications Flutter écrites en Dart. Ce plug-in offre une fonctionnalité d’analytique de base et vous permet d’intégrer des messages in-app et des cartes de contenu pour iOS et Android à l’aide d’une base de code unique.
Intégration du SDK Flutter
Conditions préalables
Avant d’intégrer le SDK Flutter de Braze, vous devrez effectuer les opérations suivantes :
| Prérequis | Description |
|---|---|
| Identifiant de l’application API de Braze | Pour localiser l’identifiant de votre application, allez dans Emplacements > API et identifiants > Identifiants d’application. Pour plus d’informations, voir Types d’identifiants API. |
| Endpoint REST Braze | L’URL de votre endpoint REST. Votre endpoint dépendra de l’URL de Braze pour votre instance. |
| SDK Flutter | Installez le SDK officiel de Flutter et assurez-vous qu’il correspond à la version minimale prise en charge par le SDK de Braze Flutter. |
Étape 1 : Intégrez la bibliothèque Braze
Ajoutez le kit SDK Braze pour Flutter à partir de la ligne de commande. Cela ajoutera la ligne appropriée à votre pubspec.yaml.
1
flutter pub add braze_plugin
Étape 2 : Configuration complète du SDK natif
Pour vous connecter aux serveurs Braze, créez un fichier braze.xml dans le dossier android/res/values de votre projet. Collez le code suivant et remplacez la clé d’identification API et l’endpoint par vos valeurs :
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">YOUR_APP_IDENTIFIER_API_KEY</string>
<string translatable="false" name="com_braze_custom_endpoint">YOUR_CUSTOM_ENDPOINT_OR_CLUSTER</string>
</resources>
Ajoutez les autorisations requises à votre fichier AndroidManifest.xml :
1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ajoutez l’importation SDK Braze en haut du fichier AppDelegate.swift :
1
2
import BrazeKit
import braze_plugin
Dans le même fichier, créez l’objet de configuration Braze dans la méthode application(_:didFinishLaunchingWithOptions:) et remplacez la clé API et le endpoint par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static var braze: Braze? = nil
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
// Setup Braze
let configuration = Braze.Configuration(
apiKey: "<BRAZE_API_KEY>",
endpoint: "<BRAZE_ENDPOINT>"
)
// - Enable logging or customize configuration here
configuration.logger.level = .info
let braze = BrazePlugin.initBraze(configuration)
AppDelegate.braze = braze
return true
}
Importez BrazeKit en haut du fichier AppDelegate.m :
1
@import BrazeKit;
Dans le même fichier, créez l’objet de configuration Braze dans la méthode application:didFinishLaunchingWithOptions: et remplacez la clé API et le endpoint par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Setup Braze
BRZConfiguration *configuration =
[[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
endpoint:@"<BRAZE_ENDPOINT>"];
// - Enable logging or customize configuration here
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazePlugin initBraze:configuration];
AppDelegate.braze = braze;
[self.window makeKeyAndVisible];
return YES;
}
#pragma mark - AppDelegate.braze
static Braze *_braze = nil;
+ (Braze *)braze {
return _braze;
}
+ (void)setBraze:(Braze *)braze {
_braze = braze;
}
Étape 3 : Configurer le plugin
Pour importer le plug-in dans votre code Dart, utilisez ce qui suit :
1
import 'package:braze_plugin/braze_plugin.dart';
Ensuite, initialisez une instance du plug-in Braze en appelant new BrazePlugin() comme dans notre exemple d’application.
Pour éviter les comportements indéfinis, n’allouez et n’utilisez qu’une seule instance de BrazePlugin dans votre code Dart.
Tester l’intégration
Vous pouvez vérifier que le SDK est intégré en consultant les statistiques de session dans le tableau de bord. Si vous exécutez votre application sur l’une ou l’autre plateforme, vous devriez voir une nouvelle session dans le tableau de bord (dans la section Aperçu ).
Ouvrez une session pour un utilisateur particulier en appelant le code suivant dans votre application.
1
2
BrazePlugin braze = BrazePlugin();
braze.changeUser("{some-user-id}");
Recherchez l’utilisateur avec {some-user-id} dans le tableau de bord sous Audience > Recherche d’utilisateurs. Vous pouvez y vérifier que les données de session et d’appareil ont été enregistrées.
À propos du SDK React Native de Braze
L’intégration du SDK React Native Braze fournit des fonctionnalités d’analyse/analytique de base et vous permet d’intégrer des messages in-app et des cartes de contenu pour iOS et Android avec une seule base de code.
Compatibilité avec la nouvelle architecture
La version minimale suivante du SDK est compatible avec toutes les apps utilisant la nouvelle architecture de React Native:
À partir de la version 6.0.0 du SDK, Braze utilise un module React Native Turbo, qui est compatible à la fois avec la nouvelle architecture et l’ancienne architecture de pont - ce qui signifie qu’aucune configuration supplémentaire n’est nécessaire.
Si votre app iOS est conforme à RCTAppDelegate et suit notre précédente configuration AppDelegate, passez en revue les exemples dans Complete native setup pour éviter tout plantage lors de l’abonnement à des événements dans le module Turbo.
Intégration du SDK React Native
Conditions préalables
Pour intégrer le SDK, la version 0.71 ou ultérieure de React Native est nécessaire. Pour obtenir la liste complète des versions prises en charge, consultez notre référentiel GitHub du SDK React Native.
Étape 1 : Intégrez la bibliothèque Braze
1
npm install @braze/react-native-sdk
1
yarn add @braze/react-native-sdk
Étape 2 : Choisissez une option de configuration
Vous pouvez gérer le SDK de Braze à l’aide du plugin Braze Expo ou via l’une des couches natives. Avec le plugin Expo, vous pouvez configurer certaines fonctionnalités du SDK sans écrire de code dans les couches natives. Choisissez l’option qui répond le mieux aux besoins de votre application.
Étape 2.1 : Installer le plugin Braze Expo
Assurez-vous que votre version du SDK React Native de Braze correspond au minimum à 1.37.0. Pour obtenir la liste complète des versions prises en charge, consultez le référentiel React Native de Braze.
Pour installer le plugin Braze Expo, exécutez la commande suivante :
1
npx expo install @braze/expo-plugin
Étape 2.2 : Ajoutez le plug-in à votre app.json
Dans votre app.json, ajoutez le Plugin Braze Expo. Vous pouvez fournir les options de configuration suivantes :
| Méthode | Type | Description |
|---|---|---|
androidApiKey |
chaîne de caractères | Obligatoire. La clé API de votre application Android, située dans votre tableau de bord de Braze sous Gérer les paramètres. |
iosApiKey |
chaîne de caractères | Obligatoire. La clé API de votre application iOS, située dans votre tableau de bord de Braze sous Gérer les paramètres. |
baseUrl |
chaîne de caractères | Obligatoire. Le endpoint SDK de votre application, situé dans votre tableau de bord de Braze sous Gérer les paramètres. |
enableBrazeIosPush |
booléen | iOS uniquement. Si vous devez utiliser Braze pour gérer les notifications push sur iOS. Introduites dans le SDK React Native v1.38.0 et Expo Plugin v0.4.0. |
enableFirebaseCloudMessaging |
booléen | Android uniquement. Si vous devez utiliser Firebase Cloud Messaging pour les notifications push. Introduites dans le SDK React Native v1.38.0 et Expo Plugin v0.4.0. |
firebaseCloudMessagingSenderId |
chaîne de caractères | Android uniquement. Votre ID expéditeur Firebase Cloud Messaging. Introduites dans le SDK React Native v1.38.0 et Expo Plugin v0.4.0. |
sessionTimeout |
Entier | Le délai de session Braze pour votre application en secondes. |
enableSdkAuthentication |
booléen | Détermine si la fonctionnalité Authentification SDK est activée. |
logLevel |
Entier | Le niveau de journal pour votre application. Le niveau de journal par défaut est de 8 et va journaliser le minimum d’informations. Pour activer la journalisation verbeuse pour le débogage, utilisez le niveau 0 du journal. |
minimumTriggerIntervalInSeconds |
Entier | Intervalle minimum en secondes entre les déclenchements. 30 secondes par défaut. |
enableAutomaticLocationCollection |
booléen | Collecte des données de localisation automatique activée ou non (si l’utilisateur l’autorise). |
enableGeofence |
booléen | Activation ou non des géorepérages. |
enableAutomaticGeofenceRequests |
booléen | Demandes de géorepérage automatique ou non. |
dismissModalOnOutsideTap |
booléen | iOS uniquement. Le message in-app modal sera rejeté ou non lorsque l’utilisateur clique à l’extérieur du message in-app. |
androidHandlePushDeepLinksAutomatically |
booléen | Android uniquement. Si le SDK Braze doit gérer automatiquement les liens profonds de notification push. |
androidPushNotificationHtmlRenderingEnabled |
booléen | Android uniquement. Définit si le contenu textuel d’une notification push doit être interprété et rendu en tant que HTML en utilisant android.text.Html.fromHtml. |
androidNotificationAccentColor |
chaîne de caractères | Android uniquement. Définit la couleur d’accentuation de la notification Android. |
androidNotificationLargeIcon |
chaîne de caractères | Android uniquement. Définit l’icône large de la notification Android. |
androidNotificationSmallIcon |
chaîne de caractères | Android uniquement. Définit l’icône de notification petite d’Android. |
iosRequestPushPermissionsAutomatically |
booléen | iOS uniquement. Détermine si l’utilisateur doit être automatiquement invité à autoriser les notifications push au lancement de l’application. |
enableBrazeIosRichPush |
booléen | iOS uniquement. Faut-il activer les fonctionnalités push enrichies pour iOS. |
enableBrazeIosPushStories |
booléen | iOS uniquement. Activer ou non les histoires push Braze pour iOS. |
iosPushStoryAppGroup |
chaîne de caractères | iOS uniquement. Le groupe d’applications utilisé pour les histoires Push iOS. |
Exemple de configuration :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
"androidApiKey": "YOUR-ANDROID-API-KEY",
"iosApiKey": "YOUR-IOS-API-KEY",
"baseUrl": "YOUR-SDK-ENDPOINT",
"sessionTimeout": 60,
"enableGeofence": false,
"enableBrazeIosPush": false,
"enableFirebaseCloudMessaging": false,
"firebaseCloudMessagingSenderId": "YOUR-FCM-SENDER-ID",
"androidHandlePushDeepLinksAutomatically": true,
"enableSdkAuthentication": false,
"logLevel": 0,
"minimumTriggerIntervalInSeconds": 0,
"enableAutomaticLocationCollection": false,
"enableAutomaticGeofenceRequests": false,
"dismissModalOnOutsideTap": true,
"androidPushNotificationHtmlRenderingEnabled": true,
"androidNotificationAccentColor": "#ff3344",
"androidNotificationLargeIcon": "@drawable/custom_app_large_icon",
"androidNotificationSmallIcon": "@drawable/custom_app_small_icon",
"iosRequestPushPermissionsAutomatically": false,
"enableBrazeIosPushStories": true,
"iosPushStoryAppGroup": "group.com.example.myapp.PushStories"
}
],
]
}
}
Étape 2.3 : Créer et exécuter votre application
La préconstruction de votre application générera les fichiers natifs nécessaires au fonctionnement du plugin Braze Expo.
1
npx expo prebuild
Exécutez votre application tel qu’indiqué dans la documentation Expo. Gardez à l’esprit que si vous modifiez les options de configuration, vous devrez préconstruire et exécuter à nouveau l’application.
Étape 2.1 : Ajouter notre référentiel
Dans votre projet de niveau supérieur build.gradle, ajoutez ce qui suit sous buildscript > dependencies:
1
2
3
4
5
6
7
buildscript {
dependencies {
...
// Choose your Kotlin version
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10")
}
}
Cela ajoutera Kotlin à votre projet.
Étape 2.2 : Configurer le SDK Braze
Pour vous connecter aux serveurs Braze, créez un fichier braze.xml dans le dossier res/values de votre projet. Collez le code suivant et remplacez la clé API et le point de terminaison par vos valeurs :
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">YOU_APP_IDENTIFIER_API_KEY</string>
<string translatable="false" name="com_braze_custom_endpoint">YOUR_CUSTOM_ENDPOINT_OR_CLUSTER</string>
</resources>
Ajoutez les autorisations requises à votre fichier AndroidManifest.xml :
1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Avec la version 12.2.0 du SDK de Braze ou une version ultérieure, vous pouvez intégrer automatiquement la bibliothèque android-sdk-location en définissant importBrazeLocationLibrary=true dans votre fichier gradle.properties.
Étape 2.3 : Implémentez le suivi de session utilisateur
Les appels vers openSession() et closeSession() sont gérées automatiquement.
Ajoutez le code suivant à la méthode onCreate() de votre classe MainApplication :
1
2
3
4
5
6
7
8
import com.braze.BrazeActivityLifecycleCallbackListener;
@Override
public void onCreate() {
super.onCreate();
...
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
}
1
2
3
4
5
6
7
import com.braze.BrazeActivityLifecycleCallbackListener
override fun onCreate() {
super.onCreate()
...
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener())
}
Étape 2.4 : Gérer les mises à jour d’intention
Si votre activité principale a android:launchMode défini sur singleTask, ajoutez le code suivant à votre classe MainActivity :
1
2
3
4
5
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
1
2
3
4
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
setIntent(intent)
}
Étape 2.1 : (Facultatif) Configurer le Podfile pour les XCFrameworks dynamiques
Pour importer certaines bibliothèques Braze, telles que BrazeUI, dans un fichier Objective-C++, vous devrez utiliser la syntaxe #import. À partir de la version 7.4.0 du SDK Braze Swift, les binaires ont un canal de distribution facultatif sous forme de XCFrameworks dynamiques qui sont compatibles avec cette syntaxe.
Si vous souhaitez utiliser ce canal de distribution, remplacez manuellement les emplacements des sources CocoaPods dans votre Podfile. Référez-vous à l’exemple ci-dessous et remplacez {your-version} par la version pertinente que vous souhaitez importer :
1
2
3
pod 'BrazeKit', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeKit.podspec'
pod 'BrazeUI', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeUI.podspec'
pod 'BrazeLocation', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeLocation.podspec'
Étape 2.2 : Installer les pods
Comme React Native lie automatiquement les bibliothèques à la plateforme native, vous pouvez installer le SDK avec l’aide de CocoaPods.
Dans le dossier racine du projet :
1
2
3
4
5
# To install using the React Native New Architecture
cd ios && pod install
# To install using the React Native legacy architecture
cd ios && RCT_NEW_ARCH_ENABLED=0 pod install
Étape 2.3 : Configurer le SDK Braze
Ajoutez le SDK Braze en haut du fichier AppDelegate.swift :
1
import BrazeKit
Dans la méthode application(_:didFinishLaunchingWithOptions:), remplacez la clé API et le point de terminaison par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :
Notre exemple suppose une implémentation de RCTAppDelegate, qui fournit un certain nombre d’abstractions dans la configuration de React Native. Si vous utilisez une configuration différente pour votre application, assurez-vous d’ajuster votre implémentation en conséquence.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
// Setup Braze
let configuration = Braze.Configuration(
apiKey: "{BRAZE_API_KEY}",
endpoint: "{BRAZE_ENDPOINT}")
// Enable logging and customize the configuration here.
configuration.logger.level = .info
let braze = BrazeReactBridge.perform(
#selector(BrazeReactBridge.initBraze(_:)),
with: configuration
).takeUnretainedValue() as! Braze
AppDelegate.braze = braze
/* Other configuration */
return true
}
// MARK: - AppDelegate.braze
static var braze: Braze? = nil
Ajoutez le SDK Braze en haut du fichier AppDelegate.m :
1
2
#import <BrazeKit/BrazeKit-Swift.h>
#import "BrazeReactBridge.h"
Dans la méthode application:didFinishLaunchingWithOptions:, remplacez la clé API et le point de terminaison par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :
Notre exemple suppose une implémentation de RCTAppDelegate, qui fournit un certain nombre d’abstractions dans la configuration de React Native. Si vous utilisez une configuration différente pour votre application, assurez-vous d’ajuster votre implémentation en conséquence.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Setup Braze
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"{BRAZE_API_KEY}"
endpoint:@"{BRAZE_ENDPOINT}"];
// Enable logging and customize the configuration here.
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazeReactBridge initBraze:configuration];
AppDelegate.braze = braze;
/* Other configuration */
return YES;
}
#pragma mark - AppDelegate.braze
static Braze *_braze = nil;
+ (Braze *)braze {
return _braze;
}
+ (void)setBraze:(Braze *)braze {
_braze = braze;
}
Étape 3 : Importer la bibliothèque
Ensuite, import la bibliothèque dans votre code React Native. Pour plus de détails, consultez notre exemple de projet.
1
import Braze from "@braze/react-native-sdk";
Étape 4 : Testez l’intégration (facultatif)
Pour tester votre intégration SDK, démarrez une nouvelle session sur l’une ou l’autre plateforme pour un utilisateur en appelant le code suivant dans votre application.
1
Braze.changeUser("userId");
Par exemple, vous pouvez attribuer l’ID utilisateur au démarrage de l’application :
1
2
3
4
5
6
7
8
9
10
11
12
13
import React, { useEffect } from "react";
import Braze from "@braze/react-native-sdk";
const App = () => {
useEffect(() => {
Braze.changeUser("some-user-id");
}, []);
return (
<div>
...
</div>
)
Dans le tableau de bord de Braze, allez dans Recherche d’utilisateurs et recherchez l’utilisateur dont l’ID correspond à some-user-id. Ici, vous pouvez vérifier que les données relatives à la session et à l’appareil ont été enregistrées.
Intégration du SDK Roku
Étape 1 : Ajouter des fichiers
Les fichiers du SDK Braze sont disponibles dans le répertoire sdk_files du référentiel SDK Roku de Braze.
- Ajouter
BrazeSDK.brsà votre application dans le répertoiresource. - Ajouter
BrazeTask.brsetBrazeTask.xmlà votre application dans le répertoirecomponents.
Étape 2 : Ajouter des références
Ajouter une référence à BrazeSDK.brs dans votre scène principale, en utilisant l’élément script :
1
<script type="text/brightscript" uri="pkg:/source/BrazeSDK.brs"/>
Étape 3 : Configurer
Dans main.brs, définissez la configuration Braze sur le nœud global :
1
2
3
4
5
6
7
8
globalNode = screen.getGlobalNode()
config = {}
config_fields = BrazeConstants().BRAZE_CONFIG_FIELDS
config[config_fields.API_KEY] = {YOUR_API_KEY}
' example endpoint: "https://sdk.iad-01.braze.com/"
config[config_fields.ENDPOINT] = {YOUR_ENDPOINT}
config[config_fields.HEARTBEAT_FREQ_IN_SECONDS] = 5
globalNode.addFields({brazeConfig: config})
Vous trouverez votre endpoint SDK et votre clé API dans le tableau de bord de Braze.
Étape 4 : Initialiser Braze
Initialiser l’instance Braze :
1
2
m.BrazeTask = createObject("roSGNode", "BrazeTask")
m.Braze = getBrazeInstance(m.BrazeTask)
Configurations optionnelles
Journalisation
Pour déboguer votre intégration Braze, vous pouvez afficher la console de débogage Roku pour les journaux Braze. Pour en savoir plus, reportez-vous au Code de débogage des développeurs Roku.
À propos du SDK d’Unity Braze
Pour obtenir la liste complète des types, fonctions, variables et autres, consultez le fichier de déclaration d’Unity. En outre, si vous avez déjà intégré Unity manuellement pour iOS, vous pouvez passer à une intégration automatisée à la place.
Intégration du SDK Unity
Conditions préalables
Avant de commencer, vérifiez que votre environnement est pris en charge par la dernière version du SDK Braze Unity.
Étape 1 : Choisissez votre package Braze Unity
Le .unitypackage Braze regroupe des liaisons natives pour les plateformes Android et iOS, ainsi qu’une interface C#.
Plusieurs paquets de Braze Unity peuvent être téléchargés sur la page des versions de Braze Unity:
Appboy.unitypackage- Ce package regroupe les SDK Android et iOS Braze et la dépendance SDWebImage du SDK iOS, nécessaire pour le fonctionnement approprié des messages in-app de Braze et des fonctionnalités de cartes de contenu sur iOS. L’infrastructure SDWebImage est utilisée pour télécharger et afficher des images, y compris des GIF. Si vous avez l’intention d’utiliser la fonctionnalité Braze dans son intégralité, téléchargez et importez ce package.
Appboy-nodeps.unitypackage- Ce package est similaire à
Appboy.unitypackage, à l’exception du framework SDWebImage qui n’est pas présent. Ce package est utile si vous ne souhaitez pas que l’infrastructure SDWebImage soit présente dans votre application iOS.
- Ce package est similaire à
À partir d’Unity 2.6.0, l’artefact groupé du SDK Braze Android nécessite les dépendances AndroidX. Si vous utilisiez auparavant un jetified unitypackage, alors vous pouvez effectuer une transition en toute sécurité vers le unitypackage correspondant.
Le .unitypackage Braze regroupe des liaisons natives pour les plateformes Android et iOS, ainsi qu’une interface C#.
Le package Braze Unity est disponible au téléchargement sur la page des versions de Braze Unity avec deux options d’intégration :
Appboy.unitypackageuniquement- Ce paquet regroupe les SDK Android et iOS de Braze sans aucune dépendance supplémentaire. Cette méthode d’intégration ne permet pas d’utiliser pleinement l’envoi de messages in-app et les fonctionnalités de cartes de contenu de Braze sur iOS. Si vous avez l’intention d’utiliser toutes les fonctionnalités de Braze sans code personnalisé, utilisez plutôt l’option ci-dessous.
- Pour utiliser cette option d’intégration, assurez-vous que la case à côté de
Import SDWebImage dependencyest décochée dans l’interface utilisateur Unity sous Configuration Braze.
Appboy.unitypackageavecSDWebImage- Cette option d’intégration regroupe les SDK Android et iOS de Braze et la dépendance SDwebimage pour le SDK iOS, qui est nécessaire au bon fonctionnement de la messagerie in-app de Braze, et des fonctionnalités des cartes de contenu sur iOS. Le cadre
SDWebImageest utilisé pour télécharger et afficher des images, y compris des GIF. Si vous avez l’intention d’utiliser la fonctionnalité Braze dans son intégralité, téléchargez et importez ce package. - Pour importer automatiquement
SDWebImage, veillez à cocher la case à côté deImport SDWebImage dependencydans l’interface utilisateur Unity sous Configuration Braze.
- Cette option d’intégration regroupe les SDK Android et iOS de Braze et la dépendance SDwebimage pour le SDK iOS, qui est nécessaire au bon fonctionnement de la messagerie in-app de Braze, et des fonctionnalités des cartes de contenu sur iOS. Le cadre
Pour savoir si vous avez besoin de la dépendance SDWebimage pour votre projet iOS, consultez le site iOS in-app message documentation.
Étape 2 : Importer le package
Dans Unity Editor, importez le package dans votre projet Unity en sélectionnant Actifs > Importer un package > Personnaliser le package. Cliquez ensuite sur Importer.
Vous pouvez également suivre les instructions pour Importer un package d’actifs Unity pour accéder à un guide plus détaillé sur l’importation des packages Unity personnalisés.
Si vous souhaitez importer le plug-in iOS ou Android uniquement, désélectionnez le sous-répertoire Plugins/Android ou Plugins/iOS lors de l’importation du Braze .unitypackage.
Dans Unity Editor, importez le package dans votre projet Unity en sélectionnant Actifs > Importer un package > Personnaliser le package. Cliquez ensuite sur Importer.
Vous pouvez également suivre les instructions pour Importer un package d’actifs Unity pour accéder à un guide plus détaillé sur l’importation des packages Unity personnalisés.
Si vous souhaitez importer le plug-in iOS ou Android uniquement, désélectionnez le sous-répertoire Plugins/Android ou Plugins/iOS lors de l’importation du Braze .unitypackage.
Étape 3 : Configurer le SDK
Étape 3.1 : Configurer AndroidManifest.xml
Pour remplir AndroidManifest.xml de fonctionner. Si votre application n’a pas de AndroidManifest.xml, vous pouvez utiliser ce qui suit comme modèle. Sinon, si vous avez déjà un AndroidManifest.xml, assurez-vous que l’une des sections manquantes suivantes est ajoutée à votre AndroidManifest.xml existant.
- Allez dans le répertoire
Assets/Plugins/Android/et ouvrez votre fichierAndroidManifest.xml. Il s’agit de l’emplacement/localisation par défaut dans l’éditeur Unity. - Dans votre site
AndroidManifest.xml, ajoutez les permissions et activités requises dans le modèle suivant. - Lorsque vous aurez terminé, votre site
AndroidManifest.xmlne devrait contenir qu’une seule activité avec"android.intent.category.LAUNCHER".
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="REPLACE_WITH_YOUR_PACKAGE_NAME">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/app_icon"
android:label="@string/app_name">
<!-- Calls the necessary Braze methods to ensure that analytics are collected and that push notifications are properly forwarded to the Unity application. -->
<activity android:name="com.braze.unity.BrazeUnityPlayerActivity"
android:theme="@style/UnityThemeSelector"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="sensor">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- A Braze specific FirebaseMessagingService used to handle push notifications. -->
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
Toutes les classes d’activité enregistrées dans votre fichier AndroidManifest.xml doivent être pleinement intégrées au SDK Android de Braze, sinon vos analyses/analytiques ne seront pas collectées. Si vous ajoutez votre propre classe d’activité, veillez à étendre le lecteur Braze Unity afin d’éviter ce problème.
Étape 3.2 : Mettez à jour AndroidManifest.xml avec le nom de votre paquet
Pour trouver le nom de votre paquet, cliquez sur Fichier > Paramètres de création > Paramètres du lecteur > Onglet Android.

Dans votre AndroidManifest.xml, toutes les instances de REPLACE_WITH_YOUR_PACKAGE_NAME doivent être remplacées par Package Name par rapport à l’étape précédente.
Étape 3.3 : Ajouter les dépendances gradle
Pour ajouter des dépendances gradle à votre projet Unity, activez d’abord “Custom Main Gradle Template” dans vos paramètres de publication. Ceci créera un modèle gradle que votre projet utilisera. Un fichier gradle gère la mise en place des dépendances et d’autres paramètres du projet au moment de la création. Pour plus d’informations, consultez l’exemple d’application Braze Unity à la rubrique mainTemplate.gradle.
Les dépendances suivantes sont requises :
1
2
3
4
5
6
implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation "androidx.recyclerview:recyclerview:1.2.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1"
implementation 'androidx.core:core:1.6.0'
Vous pouvez également définir ces dépendances à l’aide du gestionnaire de dépendances externes.
Étape 3.4 : Automatiser l’intégration d’Unity dans Android
Braze fournit une solution Unity native pour l’automatisation de l’intégration Unity Android.
- Dans Unity Editor, ouvrez les paramètres de configuration de Braze en sélectionnant Braze > Configuration Braze.
- Cochez la case Automatiser l’intégration d’Unity Android.
- Dans le champ Clé API Braze, saisissez la clé API de votre application qui se trouve dans Gérer les paramètres depuis le tableau de bord de Braze.
Cette intégration automatique ne doit pas être utilisée avec un fichier braze.xml créé manuellement, car les valeurs de configuration peuvent entrer en conflit pendant le projet. Si vous avez besoin d’un braze.xml manuel, désactivez l’intégration automatique.
Étape 3.1 : Définir votre clé API
Braze fournit une solution Unity native pour l’automatisation de l’intégration Unity iOS. Cette solution modifie le projet Xcode conçu à l’aide du PostProcessBuildAttribute et des sous-classes UnityAppController de Unity avec la macro IMPL_APP_CONTROLLER_SUBCLASS.
- Dans Unity Editor, ouvrez les paramètres de configuration de Braze en sélectionnant Braze > Configuration Braze.
- Cochez la case Automatiser l’intégration d’Unity iOS.
- Dans le champ Clé API Braze, saisissez la clé API de votre application qui se trouve dans Gérer les paramètres.

Si votre application utilise déjà une autre sous-classe UnityAppController, vous devrez fusionner votre implémentation de sous-classe avec AppboyAppDelegate.mm.
Personnaliser le package Unity
Étape 1 : Cloner le dépôt
Dans votre terminal, clonez le dépôt GitHub Braze Unity SDK, puis naviguez jusqu’à ce dossier :
1
2
git clone [email protected]:braze-inc/braze-unity-sdk.git
cd ~/PATH/TO/DIRECTORY/braze-unity-sdk
1
2
git clone git@github.com:braze-inc/braze-unity-sdk.git
cd C:\PATH\TO\DIRECTORY\braze-unity-sdk
Étape 2 : Exporter un paquet à partir d’un référentiel
Tout d’abord, lancez Unity et laissez-le tourner en arrière-plan. Ensuite, à la racine du référentiel, exécutez la commande suivante pour exporter le paquet vers braze-unity-sdk/unity-package/.
1
/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -nographics -projectPath "$(pwd)" -executeMethod Appboy.Editor.Build.ExportAllPackages -quit
1
"%UNITY_PATH%" -batchmode -nographics -projectPath "%PROJECT_ROOT%" -executeMethod Appboy.Editor.Build.ExportAllPackages -quit
Si vous rencontrez des problèmes après avoir exécuté ces commandes, consultez Unity : Arguments de la ligne de commande.
Étape 3 : Importer le paquet dans Unity
- Dans Unity, importez le paquet souhaité dans votre projet Unity en naviguant vers Assets > Import Package > Custom Package.
- S’il y a des fichiers que vous ne voulez pas importer, désélectionnez-les maintenant.
- Personnalisez le paquet Unity exporté, situé à l’emplacement/localisation
Assets/Editor/Build.cs.
Passer à une intégration automatisée (Swift uniquement)
Pour profiter de l’intégration automatisée iOS proposée dans le SDK Unity de Braze, suivez ces étapes pour passer d’un mode manuel à une intégration automatisée.
- Supprimez tous les codes liés à Braze de votre sous-classe
UnityAppControllerde projet Xcode. - Supprimez les bibliothèques iOS de Braze de votre projet Unity ou Xcode (telles que
Appboy_iOS_SDK.frameworketSDWebImage.framework). - Importez à nouveau le paquet Braze Unity dans votre projet. Pour une description complète, voir Étape 2 : Importez le paquet.
- Définissez à nouveau votre clé API. Pour une description complète, voir Étape 3.1 : Définissez votre clé API.
Configurations optionnelles
Consignation prolixe
Pour activer la journalisation verbeuse dans l’éditeur Unity, procédez comme suit :
- Ouvrez les paramètres de configuration de Braze en sélectionnant Braze > Configuration de Braze.
- Cliquez sur le menu déroulant Afficher les paramètres Android de Braze.
- Dans le champ Niveau de journalisation du SDK, saisissez la valeur 0.
Compatibilité Prime 31
Pour utiliser le plug-in Unity de Braze avec les plug-ins Prime31, modifiez le AndroidManifest.xml de votre projet pour utiliser les classes d’activité compatibles Prime31. Modifier toutes les références de
com.braze.unity.BrazeUnityPlayerActivity vers com.braze.unity.prime31compatible.BrazeUnityPlayerActivity
Amazon Device Messaging (ADM)
Braze prend en charge l’intégration d’ADM push dans les applications Unity. Si vous souhaitez intégrer ADM push, créez un fichier appelé api_key.txt contenant votre clé API ADM et placez-le dans le dossier Plugins/Android/assets/. Pour plus d’informations sur l’intégration d’ADM avec Braze, consultez nos instructions d’intégration d’ADM push.
Extension du lecteur Braze Unity (Android uniquement)
L’exemple de fichier AndroidManifest.xml fourni contient une classe d’activité enregistrée, BrazeUnityPlayerActivity. Cette classe est intégrée au SDK Braze et étend UnityPlayerActivity à la gestion des sessions, l’enregistrement des messages in-app, la journalisation des analyses des notifications push et bien plus encore. Voir Unity pour plus d’informations sur l’extension de la classe UnityPlayerActivity.
Si vous créez votre propre UnityPlayerActivity dans un projet de bibliothèque ou de plugin, vous devrez étendre notre BrazeUnityPlayerActivity pour intégrer votre fonctionnalité personnalisée avec Braze. Avant de commencer à travailler sur l’extension BrazeUnityPlayerActivity, suivez nos instructions pour intégrer Braze dans votre projet Unity.
- Ajoutez le SDK Android de Braze en tant que dépendance à votre bibliothèque ou à votre projet de plug-in comme décrit dans les instructions d’intégration du SDK Android de Braze.
- Intégrez notre
.aarUnity, qui contient notre fonctionnalité spécifique à Unity, à votre projet de bibliothèque Android que vous constituez pour Unity. Leappboy-unity.aarest disponible dans notre dépôt public. Une fois que notre bibliothèque Unity a été intégrée avec succès, modifiez votreUnityPlayerActivitypour étendreBrazeUnityPlayerActivity. - Exportez votre bibliothèque ou votre projet de plug-in et déposez-le dans
/<your-project>/Assets/Plugins/Androidde manière habituelle. N’incluez pas de code source Braze dans votre bibliothèque ou votre plug-in, car ils seront déjà présents dans/<your-project>/Assets/Plugins/Android. - Modifier votre
/<your-project>/Assets/Plugins/Android/AndroidManifest.xmlpour spécifier votre sous-classeBrazeUnityPlayerActivitycomme activité principale.
Vous devriez maintenant pouvoir mettre en package un .apk depuis l’IDE Unity qui est entièrement intégré à Braze et contient votre fonctionnalité UnityPlayerActivity personnalisée.
Résolution des problèmes
Erreur : “Le fichier n’a pas pu être lu
Les erreurs ressemblant à ce qui suit peuvent être ignorées en toute sécurité. Le logiciel Apple utilise une extension PNG exclusive appelée CgBI, qu’Unity ne reconnaît pas. Ces erreurs n’affecteront ni votre iOS ni l’affichage approprié des images associées dans le paquet Braze.
1
Could not create texture from Assets/Plugins/iOS/AppboyKit/Appboy.bundle/...png: File could not be read
À propos du SDK du moteur Unreal Braze
Avec le plugin Braze Unreal SDK, vous pouvez :
- Évaluer et suivre les sessions dans votre application ou votre jeu
- Suivre des achats et des événements personnalisés dans l’application
- Mettre à jour les profils d’utilisateur avec des attributs standard et personnalisés
- Envoyer des notifications push
- Intégrer vos applications Unreal à des parcours Canvas plus importants
- Envoyer des communications cross-canaux, comme par exemple par e-mail ou SMS, en fonction des interactions dans l’application
Intégration du SDK d’Unreal Engine
Étape 1 : Ajouter le plugin Braze
Dans votre terminal, clonez le dépôt GitHub Unreal Engine Braze SDK.
1
git clone [email protected]:braze-inc/braze-unreal-sdk.git
Copiez ensuite le répertoire BrazeSample/Plugins/Braze et ajoutez-le dans le dossier Plugin de votre application.
Étape 2 : Activer le plugin
Activez le plugin pour votre projet C++ ou Blueprint.
Pour les projets C++, configurez votre module pour qu’il fasse référence au module Braze. Dans votre \*.Build.cs file, ajoutez "Braze" à votre PublicDependencyModuleNames.
1
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Braze" });
Pour les projets Blueprint, allez dans Settings > Plugins, puis à côté de Braze cochez Enabled.

Étape 3 : Définissez votre clé API et votre endpoint.
Définissez votre clé API et votre endpoint dans le projet DefaultEngine.ini.
1
2
3
4
5
[/Script/Braze.BrazeConfig]
bAutoInitialize=True ; true by default, initialize when the project starts
AndroidApiKey= ; your API key
IOSApiKey= ; your API key
CustomEndpoint= ; your endpoint
Pour les projets ciblant le SDK Android 31+, Unreal créera des builds qui échoueront lors de l’installation sur les appareils Android 12+ avec l’erreur INSTALL_PARSE_FAILED_MANIFEST_MALFORMED. Pour corriger ce problème, localisez le fichier patch UE4_Engine_AndroidSDK_31_Build_Fix.patch git à la racine de ce dépôt et appliquez-le à votre création des sources d’Unreal.
Étape 4 : Initialiser manuellement le SDK (facultatif)
Par défaut, le SDK s’initialise automatiquement au lancement. Si vous souhaitez avoir plus de contrôle sur l’initialisation (par exemple, attendre le consentement de l’utilisateur ou définir le niveau de journalisation), vous pouvez désactiver AutoInitialize dans votre site DefaultEngine.ini et initialiser manuellement en C++ ou en Blueprint.
En C++ natif, accédez au BrazeSubsystem et appelez InitializeBraze() en lui transmettant éventuellement un Config pour remplacer les paramètres de Engine.ini.
1
2
UBrazeSubsystem* const BrazeSubsystem = GEngine->GetEngineSubsystem<UBrazeSubsystem>();
UBraze* const BrazeInstance = BrazeSubsystem->InitializeBraze();
Dans Blueprint, les mêmes fonctions sont accessibles en tant que nœuds Blueprint :
Utilisez le nœud GetBrazeSubsystem pour appeler son nœud Initialize.
Un objet BrazeConfig peut éventuellement être créé dans Blueprint et transmis à Initialize

Configurations optionnelles
Journalisation
Vous pouvez définir le niveau de journalisation au moment de l’exécution en utilisant C++ ou dans un nœud de Blueprint.
Pour définir le niveau de journalisation au moment de l’exécution, appelez UBrazeSubsystem::AndroidSetLogLevel.
1
2
3
UBrazeSubsystem* const BrazeSubsystem = GEngine->GetEngineSubsystem<UBrazeSubsystem>();
BrazeSubsystem->AndroidSetLogLevel(EBrazeLogLevel::Verbose);
UBraze* const BrazeInstance = BrazeSubsystem->InitializeBraze();
Dans Blueprint, vous pouvez utiliser le nœud Android Set Log Level :

Afin de s’assurer que la journalisation est définie lorsque le SDK Braze Initialize est appelé, il est recommandé de l’appeler avant InitializeBraze.
Pour activer le niveau de journalisation dans le site info.plist, allez dans Réglages > Réglages du projet, puis sélectionnez iOS sous Plateformes. Sous Extra PList Data, recherchez Additional Plist Data, puis entrez votre niveau de journal :
1
2
3
4
5
<key>Appboy</key>
<dict>
<key>LogLevel</key>
<string>0</string>
</dict>
Le niveau de journalisation par défaut est 8, ce qui correspond à une journalisation minimale. Pour en savoir plus sur les niveaux de journalisation : Autres personnalisations du SDK
Integrating the Xamarin SDK
Integrating the Braze Xamarin SDK will provide you with basic analytics functionality as well as working in-app messages with which you can engage your users.
Prerequisites
Before you can integrate the Xamarin Braze SDK, be sure you meet the following requirements:
- Starting in
version 3.0.0, this SDK requires using .NET 6+ and removes support for projects using the Xamarin framework. - Starting in
version 4.0.0, this SDK dropped support for Xamarin & Xamarin.Forms and added support for .NET MAUI. See Microsoft’s policy around the end of support for Xamarin.
Step 1: Get the Xamarin binding
A Xamarin binding is a way to use native libraries in Xamarin apps. The implementation of a binding consists of building a C# interface to the library, and then using that interface in your application. See the Xamarin documentation. There are two ways to include the Braze SDK binding: using NuGet or compiling from source.
The simplest integration method involves getting the Braze SDK from the NuGet.org central repository. In the Visual Studio sidebar, right click Packages folder and click Add Packages.... Search for ‘Braze’ and install the BrazePlatform.BrazeAndroidBinding package into your project.
The second integration method is to include the binding source. Under appboy-component/src/androidnet6 you will find our binding source code; adding a project reference to the BrazeAndroidBinding.csproj in your Xamarin application will cause the binding to be built with your project and provide you access to the Braze Android SDK.
The iOS bindings for Xamarin SDK version 4.0.0 and later use the Braze Swift SDK, while previous versions use the legacy AppboyKit SDK.
A Xamarin binding is a way to use native libraries in Xamarin apps. The implementation of a binding consists of building a C# interface to the library and then using that interface in your application. There are two ways to include the Braze SDK binding: using NuGet or compiling from source.
The simplest integration method involves getting the Braze SDK from the NuGet.org central repository. In the Visual Studio sidebar, right-click Packages folder and click Add Packages.... Search for ‘Braze’ and install the latest Xamarin iOS NuGet packages: Braze.iOS.BrazeKit, Braze.iOS.BrazeUI, and Braze.iOS.BrazeLocation into your project.
We also provide the compatibility libraries packages: Braze.iOS.BrazeKitCompat and Braze.iOS.BrazeUICompat, to help make your migration to .NET MAUI easier.
The second integration method is to include the binding source. Under appboy-component/src/iosnet6 you will find our binding source code; adding a project reference to the BrazeiOSBinding.csproj in your Xamarin application will cause the binding to be built with your project and provide you access to the Braze iOS SDK. Make sure BrazeiOSBinding.csproj is showing in your project’s “Reference” folder.
Step 2: Configure your Braze instance
Step 2.1: Configure the Braze SDK in Braze.xml
Now that the libraries have been integrated, you have to create an Braze.xml file in your project’s Resources/values folder. The contents of that file should resemble the following code snippet:
Be sure to substitute YOUR_API_KEY with the API key located at Settings > API Keys in the Braze dashboard.
If you are using the older navigation, you can find API keys at Developer Console > API Settings..
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">YOUR_API_KEY</string>
<string translatable="false" name="com_braze_custom_endpoint">YOUR_CUSTOM_ENDPOINT_OR_CLUSTER</string>
<string-array name="com_braze_internal_sdk_metadata">
<item>XAMARIN</item>
<item>NUGET</item>
</string-array>
</resources>
If you are including the binding source manually, remove <item>NUGET</item> from your code.
To see an example Braze.xml, check out our Android MAUI sample app.
Step 2.2: Add required permissions to Android manifest
Now that you’ve added your API key, you need to add the following permissions to your AndroidManifest.xml file:
1
<uses-permission android:name="android.permission.INTERNET" />
For an example of your AndroidManifest.xml, see the Android MAUI sample application.
Step 2.3: Track user sessions and registering for in-app messages
To enable user session tracking and register your app for in-app messages, add the following call to the OnCreate() lifecycle method of the Application class in your app:
1
RegisterActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
When setting up your Braze instance, add the following snippet to configure your instance:
Be sure to substitute YOUR_API_KEY with the API key located at Settings > API Keys in the Braze dashboard.
If you are using the older navigation, you can find API keys at Developer Console > API Settings..
1
2
3
var configuration = new BRZConfiguration("YOUR_API_KEY", "YOUR_ENDPOINT");
configuration.Api.AddSDKMetadata(new[] { BRZSDKMetadata.Xamarin });
braze = new Braze(configuration);
See the App.xaml.cs file in the iOS MAUI sample application.
Step 3: Test the integration
Now you can launch your application and see sessions being logged to the Braze dashboard (along with device information and other analytics). For a more in-depth discussion of best practices for the basic SDK integration, consult the Android integration instructions.
Now you can launch your application and see sessions being logged to the Braze dashboard. For a more in-depth discussion of best practices for the basic SDK integration, consult the iOS integration instructions.
Our current public Xamarin binding for the iOS SDK does not connect to the iOS Facebook SDK (linking social data) and does not include sending the IDFA to Braze.
Lors de l’assurance qualité de votre intégration SDK, utilisez le débogueur SDK pour résoudre les problèmes sans avoir à activer l’enregistrement des données pour votre application.
Modifier cette page sur GitHub