Notifications push
Les notifications push vous permettent d’envoyer des notifications depuis votre appli lorsque des événements importants se produisent. Vous pouvez envoyer une notification push lorsque vous avez de nouveaux messages instantanés à envoyer, des alertes d’actualité à envoyer ou le dernier épisode de l’émission télévisée préférée de votre utilisateur prêt à être téléchargé pour un visionnage hors ligne. Ils sont également plus efficaces que la récupération en arrière-plan, car votre application n’est lancée que lorsque c’est nécessaire.
Ce guide utilise des exemples de code du SDK Web de Braze 4.0.0+. Pour passer à la dernière version du SDK Web, consultez le Guide de mise à niveau du SDK.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK de Braze.
Protocoles de poussée
Les notifications push web sont mises en œuvre à l’aide de la norme push du W3C, prise en charge par la plupart des grands navigateurs. Pour plus d’informations sur les normes spécifiques du protocole push et la prise en charge des navigateurs, vous pouvez consulter les ressources d’Apple , de Mozilla et de Microsoft.
Mise en place des notifications push
Étape 1 : Configurez votre service de traitement
Dans le fichier service-worker.js de votre projet, ajoutez l’extrait de code suivant et définissez l’option d’initialisation à lors de l’initialisation du SDK Web. manageServiceWorkerExternally à true lors de l’initialisation du SDK Web.
Votre serveur Web doit renvoyer un Content-Type: application/javascript lorsqu’il notifie votre fichier de service de traitement. En outre, si votre fichier de service de traitement n’est pas nommé service-worker.js, vous devrez utiliser l’ option d’initialisation serviceWorkerLocation.
Étape 2 : Enregistrer le navigateur
Pour demander immédiatement des autorisations push à un utilisateur afin que son navigateur puisse recevoir des notifications push, appelez braze.requestPushPermission(). Pour vérifier si la fonction “push” est prise en charge dans leur navigateur, appelez braze.isPushSupported().
Vous pouvez également envoyer une invitation à pousser à l’utilisateur avant de demander l’autorisation de pousser pour afficher votre propre interface utilisateur liée à la poussée.
Sur macOS, Google Chrome et Google Chrome Helper (Alertes) doivent tous deux être activés par l’utilisateur final dans Paramètres système > Notifications avant que les notifications push puissent être affichées - même si des autorisations sont accordées.
Étape 3 : Désactiver skipWaiting (optionnel)
Le fichier du service de traitement de Braze appellera automatiquement skipWaiting lors de l’installation. Si vous souhaitez désactiver cette fonctionnalité, ajoutez le code suivant à votre fichier de service de traitement, après avoir importé Braze :
Désinscription d’un utilisateur
Pour désinscrire un utilisateur, appelez braze.unregisterPush().
Les versions récentes de Safari et de Firefox exigent que vous appeliez cette méthode à partir d’un gestionnaire d’événements de courte durée (tel qu’un gestionnaire de clic sur un bouton ou une invite de type soft push). Ceci est cohérent avec les meilleures pratiques de Chrome en matière d’expérience utilisateur pour l’enregistrement de notifications push.
Domaines alternatifs
Pour intégrer une notification push web, votre domaine doit être sécurisé, ce qui signifie généralement https, localhost, et d’autres exceptions telles que celles définies dans la norme de notification push W3C. Vous devrez également pouvoir enregistrer un service de traitement à la racine de votre domaine, ou au moins pouvoir contrôler les en-têtes HTTP pour ce fichier. Cet article explique comment intégrer les notifications push Braze pour le Web sur un domaine alternatif.
Cas d’utilisation
Si vous ne pouvez pas répondre à tous les critères énoncés dans la norme “push” du W3C, vous pouvez utiliser cette méthode pour ajouter une boîte de dialogue “push” à votre site web. Cela peut s’avérer utile si vous souhaitez permettre à vos utilisateurs de s’abonner à partir d’un site web http ou d’un popup d’extension de navigateur qui empêche votre demande d’abonnement de s’afficher.
Considérations
Gardez à l’esprit que, comme beaucoup de solutions de contournement sur le web, les navigateurs évoluent continuellement et que cette méthode pourrait ne plus être viable à l’avenir. Avant de poursuivre, assurez-vous que
- Vous possédez un domaine sécurisé séparé (
https://) et vous avez l’autorisation d’enregistrer un Service Worker sur ce domaine. - Les utilisateurs sont connectés à votre site web, ce qui garantit que les jetons sont associés au bon profil.
Vous ne pouvez pas utiliser cette méthode pour mettre en œuvre des notifications push pour Shopify. Shopify supprimera automatiquement les en-têtes nécessaires à la livraison de push de cette manière.
Mise en place d’un domaine push alternatif
Pour expliquer l’exemple suivant, nous utiliserons http://insecure.com et https://secure.com comme nos deux domaines dans le but d’amener les visiteurs à s’inscrire pour les notifications push sur http://insecure.com. Cet exemple peut également être appliqué à un système chrome-extension:// pour la page contextuelle d’une extension de navigateur.
Étape 1 : Initier le flux de demande
Sur insecure.com, ouvrez une nouvelle fenêtre vers votre domaine sécurisé en utilisant un paramètre URL pour transmettre l’ID externe Braze de l’utilisateur actuellement connecté.
http://insecure.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<button id="opt-in">Opt-In For Push</button>
<script>
// the same ID you would use with `braze.changeUser`:
const user_id = getUserIdSomehow();
// pass the user ID into the secure domain URL:
const secure_url = `https://secure.com/push-registration.html?external_id=${user_id}`;
// when the user takes some action, open the secure URL in a new window
document.getElementById("opt-in").onclick = function(){
if (!window.open(secure_url, 'Opt-In to Push', 'height=500,width=600,left=150,top=150')) {
window.alert('The popup was blocked by your browser');
} else {
// user is shown a popup window
// and you can now prompt for push in this window
}
}
</script>
Étape 2 : Enregistrer la notification push
À ce stade, secure.com ouvre une fenêtre contextuelle dans laquelle vous pouvez initialiser le SDK Braze pour le Web pour le même ID utilisateur et demander l’autorisation de l’utilisateur pour la notification push Web.
https://secure.com/push-registration.html
Étape 3 : Communiquer entre les domaines (facultatif)
Maintenant que les utilisateurs peuvent s’abonner à partir de ce flux de travail provenant de insecure.com, vous pouvez modifier votre site selon le fait que l’utilisateur est déjà abonné ou pas. Demander à l’utilisateur de s’enregistrer pour les notifications push alors qu’il l’est déjà est inutile.
Vous pouvez utiliser iFrames et l’API postMessage pour communiquer entre vos deux domaines.
insecure.com
Sur notre domaine insecure.com, nous demanderons au domaine sécurisé (où push est effectivement enregistré) des informations sur l’enregistrement push de l’utilisateur actuel :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- Create an iframe to the secure domain and run getPushStatus onload-->
<iframe id="push-status" src="https://secure.com/push-status.html" onload="getPushStatus()" style="display:none;"></iframe>
<script>
function getPushStatus(event){
// send a message to the iframe asking for push status
event.target.contentWindow.postMessage({type: 'get_push_status'}, 'https://secure.com');
// listen for a response from the iframe's domain
window.addEventListener("message", (event) => {
if (event.origin === "http://insecure.com" && event.data.type === 'set_push_status') {
// update the page based on the push permission we're told
window.alert(`Is user registered for push? ${event.data.isPushPermissionGranted}`);
}
}
}
</script>
secure.com/push-status.html
Questions fréquemment posées (FAQ)
Service de traitement
Que se passe-t-il si je ne peux pas enregistrer un service de traitement dans le répertoire racine ?
Par défaut, un service de traitement ne peut être utilisé que dans le même répertoire que celui dans lequel il est enregistré. Par exemple, si votre fichier de service de traitement existe dans /assets/service-worker.js, vous ne pouvez l’enregistrer que dans example.com/assets/* ou un sous-répertoire du dossier assets mais pas sur votre page d’accueil (example.com/). Pour cette raison, il est recommandé d’héberger et d’enregistrer le service de traitement dans le répertoire racine (par exemple, https://example.com/service-worker.js).
Si vous ne pouvez pas enregistrer un service de traitement dans votre domaine racine, une autre approche consiste à utiliser l’en-tête HTTP Service-Worker-Allowed lorsque vous notifiez votre fichier de service de traitement. En configurant votre serveur pour renvoyer Service-Worker-Allowed: / en réponse au service de traitement, le navigateur recevra l’instruction d’élargir la portée et d’autoriser l’utilisation dans un répertoire différent.
Puis-je créer un service de traitement à l’aide d’un Gestionnaire de balises ?
Non, il faut héberger les services de traitement sur le serveur de votre site Web et il n’est pas possible de les charger à l’aide d’un Gestionnaire de balises.
Sécurité du site
Le protocole HTTPS est-il nécessaire ?
Oui. Les normes Web exigent que le domaine demandant l’autorisation de notification push soit sécurisé.
Quand un site est-il considéré comme “sûr” ?
Un site est considéré comme sûr s’il correspond à l’un des modèles d’origine sécurisés suivants. Les notifications push Web de Braze sont créées sur la base de cette norme ouverte, ce qui permet d’éviter les attaques de type man-in-the-middle.
(https, , *)(wss, *, *)(, localhost, )(, .localhost, *)(, 127/8, )(, ::1/128, *)(file, *, —)(chrome-extension, *, —)
Que se passe-t-il si un site sécurisé n’est pas disponible ?
Bien que les meilleures pratiques du secteur soient de rendre votre site sûr, les clients qui ne peuvent pas sécuriser leur domaine de site peuvent contourner l’exigence en utilisant un modal sécurisé. Pour en savoir plus, consultez notre guide d’utilisation Notification push sur un domaine alternatif ou visionnez une démonstration de travail.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android Braze.
Fonctionnalités créées
Les fonctionnalités suivantes sont créées dans le SDK Android de Braze. Pour utiliser toute autre fonctionnalité de notification push, vous devrez configurer les notifications push pour votre application.
| Fonctionnalité | Description |
|---|---|
| Contenu push | Les contenus push d’Android sont créés par défaut dans le SDK Android de Braze. Pour en savoir plus, consultez la rubrique Contenus push. |
| Amorces de notifications push | Les campagnes d’amorces de notifications push encouragent vos utilisateurs à activer les notifications push sur leur appareil pour votre appli. Ceci peut se faire sans personnalisation du SDK, grâce à notre amorce de notifications push sans code. |
À propos du cycle de vie des notifications push
L’organigramme suivant montre comment Braze gère le cycle de vie des notifications push, notamment les demandes d’autorisation, la génération de jetons et l’envoi/distribution des messages.
Mise en place des notifications push
Pour découvrir un exemple d’application utilisant la FCM avec le SDK Android de Braze, consultez le site Braze : Exemple d’application Firebase Push.
Limites de débit
L’API Firebase Cloud Messaging (FCM) présente une limite de débit par défaut de 600 000 requêtes par minute. Si vous atteignez cette limite, Braze réessaiera automatiquement dans quelques minutes. Pour demander une augmentation, contactez le service d’assistance de Firebase.
Étape 1 : Ajoutez Firebase à votre projet
Tout d’abord, ajoutez Firebase à votre projet Android. Pour obtenir des instructions pas à pas, consultez le guide de configuration de Firebase de Google.
Étape 2 : Ajoutez Cloud Messaging à vos dépendances
Ensuite, ajoutez la bibliothèque Cloud Messaging aux dépendances de votre projet. Dans votre projet Android, ouvrez build.gradle, puis ajoutez la ligne suivante à votre bloc dependencies.
1
implementation "google.firebase:firebase-messaging:+"
Vos dépendances devraient ressembler à ce qui suit :
1
2
3
4
dependencies {
implementation project(':android-sdk-ui')
implementation "com.google.firebase:firebase-messaging:+"
}
Étape 3 : Activez l’API d’envoi de messages de Firebase Cloud.
Dans Google Cloud, sélectionnez le projet utilisé par votre application Android, puis activez l’API Firebase Cloud Messaging.

Étape 4 : Créer un compte de service
Ensuite, créez un nouveau compte de service, afin que Braze puisse effectuer des appels API autorisés lors de l’enregistrement des jetons FCM. Dans Google Cloud, sélectionnez Service Accounts (Comptes de service), puis choisissez votre projet. Sur la page Comptes de service, sélectionnez Créer un compte de service.

Saisissez un nom de compte de service, un ID et une description, puis sélectionnez Create and continue (Créer et continuer).

Dans le champ Rôle, recherchez et sélectionnez Firebase Cloud Messaging API Admin dans la liste des rôles. Pour un accès plus restrictif, créez un rôle personnalisé avec l’autorisation cloudmessaging.messages.create, puis choisissez-le dans la liste. Lorsque vous avez terminé, sélectionnez Terminé.
Veillez à sélectionner Firebase Cloud Messaging API Admin, et non Admin Firebase Cloud Messaging.

Étape 5 : Générer des identifiants JSON
Ensuite, générez les identifiants JSON pour votre compte de service FCM. Sur Google Cloud IAM & Admin, allez dans Comptes de service, puis choisissez votre projet. Recherchez le compte de service FCM que vous avez créé précédemment, puis sélectionnez Actions > Manage Keys (Gérer les clés).

Sélectionnez Ajouter une clé > Créer une nouvelle clé.

Choisissez JSON, puis sélectionnez Créer. Si vous avez créé votre compte de service en utilisant un ID de projet Google Cloud différent de votre ID de projet FCM, vous devrez mettre à jour manuellement la valeur attribuée à l’adresse project_id dans votre fichier JSON.
N’oubliez pas l’endroit où vous avez téléchargé la clé : vous en aurez besoin à l’étape suivante.

Les clés privées peuvent présenter un risque de sécurité si elles sont compromises. Conservez vos identifiants JSON dans un emplacement/localisation sécurisé pour l’instant : vous supprimerez votre clé après l’avoir téléchargée sur Braze.
Étape 6 : Téléchargez vos informations d’identification JSON vers Braze.
Ensuite, chargez vos identifiants JSON dans votre tableau de bord de Braze. Dans Braze, sélectionnez Paramètres > Paramètres des applications.

Sous les paramètres de notifications push de votre application Android, choisissez Firebase, puis sélectionnez Charger un fichier JSON et chargez les identifiants que vous avez générés précédemment. Lorsque vous avez terminé, sélectionnez Enregistrer.

Les clés privées peuvent présenter un risque de sécurité si elles sont compromises. Maintenant que votre clé est téléchargée sur Braze, supprimez le fichier que vous avez généré précédemment.
Étape 7 : Configurer l’enregistrement automatique des jetons
Lorsqu’un de vos utilisateurs opte pour les notifications push, votre application doit générer un jeton FCM sur son appareil avant que vous puissiez lui envoyer des notifications push. Avec le SDK Braze, vous pouvez activer l’enregistrement automatique des jetons FCM pour l’appareil de chaque utilisateur dans les fichiers de configuration Braze de votre projet.
Tout d’abord, accédez à la console Firebase, ouvrez votre projet, puis sélectionnez Paramètres > Paramètres du projet.

Sélectionnez Cloud Messaging, puis sous API Firebase Cloud Messaging (V1), copiez le numéro dans le champ ID de l’expéditeur.

Ensuite, ouvrez votre projet Android Studio et utilisez votre ID d’expéditeur Firebase pour activer l’enregistrement automatique des jetons FCM au sein de votre braze.xml ou BrazeConfig.
Pour configurer l’enregistrement automatique des jetons FCM, ajoutez les lignes suivantes à votre fichier braze.xml:
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Remplacez FIREBASE_SENDER_ID par la valeur que vous avez copiée dans les paramètres de votre projet Firebase. Votre site braze.xml devrait ressembler à ce qui suit :
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">12345ABC-6789-DEFG-0123-HIJK456789LM</string>
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">603679405392</string>
</resources>
Pour configurer l’enregistrement automatique des jetons FCM, ajoutez les lignes suivantes à votre BrazeConfig :
1
2
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
1
2
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
Remplacez FIREBASE_SENDER_ID par la valeur que vous avez copiée dans les paramètres de votre projet Firebase. Votre site BrazeConfig devrait ressembler à ce qui suit :
1
2
3
4
5
6
7
8
9
10
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
6
7
8
9
10
val brazeConfig = BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build()
Braze.configure(this, brazeConfig)
Si vous souhaitez enregistrer manuellement des jetons FCM, vous pouvez appeler Braze.setRegisteredPushToken() dans la méthode onCreate() de votre application.
Étape 8 : Supprimez les demandes automatiques dans votre classe d’application
Pour éviter que Braze ne déclenche des requêtes réseau inutiles à chaque fois que vous envoyez des notifications push silencieuses, supprimez toutes les requêtes réseau automatiques configurées dans la méthode onCreate() de votre classe Application. Pour plus d’informations, consultez Référence pour les développeurs Android : Application.
Affichage des notifications
Étape 1 : Enregistrer le service de messagerie de Firebase de Braze
Vous pouvez créer un service d’envoi de messages Firebase nouveau, existant ou non Braze. Choisissez celui qui répond le mieux à vos besoins spécifiques.
Braze comprend un service pour gérer la réception de notifications push et les intentions d’ouverture. Notre classe BrazeFirebaseMessagingService doit être enregistrée dans votre AndroidManifest.xml :
1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Notre code de notification utilise également BrazeFirebaseMessagingService pour gérer le suivi des ouvertures et des clics. Ce service doit être enregistré dans le AndroidManifest.xml pour fonctionner correctement. N’oubliez pas non plus que Braze préfixe les notifications provenant de notre système avec une clé unique afin de ne rendre que les notifications envoyées depuis nos systèmes. Vous pouvez enregistrer des services supplémentaires séparément pour afficher les notifications envoyées par d’autres services FCM. Voir AndroidManifest.xml dans l’exemple d’application Firebase push.
Avant le SDK Braze version 3.1.1, AppboyFcmReceiver était utilisé pour gérer les notifications push FCM. La classe AppboyFcmReceiver doit être retirée de votre manifeste et remplacée par l’intégration précédente.
Si vous avez déjà enregistré un service d’envoi de messages Firebase, vous pouvez passer des RemoteMessage à Braze par l’intermédiaire de BrazeFirebaseMessagingService.handleBrazeRemoteMessage(). Cette méthode n’affichera une notification que si l’objet RemoteMessage provient de Braze et l’ignorera si ce n’est pas le cas.
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage?) {
super.onMessageReceived(remoteMessage)
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
Si vous souhaitez également utiliser un autre service de messagerie Firebase, vous pouvez également spécifier un service de messagerie Firebase de repli à appeler si votre application reçoit une notification push qui ne provient pas de Braze.
Dans votre braze.xml, précisez :
1
2
<bool name="com_braze_fallback_firebase_cloud_messaging_service_enabled">true</bool>
<string name="com_braze_fallback_firebase_cloud_messaging_service_classpath">com.company.OurFirebaseMessagingService</string>
ou par le biais de la configuration de l’exécution :
1
2
3
4
5
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
val brazeConfig = BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build()
Braze.configure(this, brazeConfig)
Étape 2 : Conformer les petites icônes aux lignes directrices en matière de conception
Pour des informations générales sur les icônes de notification Android, consultez l’aperçu des notifications.
À partir de Android N, vous devez mettre à jour ou supprimer les objets de petites icônes de notification qui impliquent une couleur. Le système Android (et non le SDK Braze) ignore tous les canaux non alpha et de transparence dans les icônes d’action et les petites icônes de notification. En d’autres termes, Android convertit toutes les parties de votre petite icône de notification en monochrome, sauf pour les zones transparentes.
Pour créer une ressource de petite icône de notification qui s’affiche correctement :
- Supprimez toutes les couleurs de l’image sauf le blanc.
- Toutes les parties non blanches de l’objet doivent être transparentes.
Un symptôme commun d’un objet inapproprié est que la petite icône de notification s’affiche comme un carré monochrome solide. Cela est dû au système Android qui ne parvient pas à trouver de zone transparente dans l’objet de petite icône de notification.
Les grandes et petites icônes suivantes sont des exemples d’icônes correctement conçues :
![]()
Étape 3 : Configurer les icônes de notification
Spécifier des icônes dans braze.xml
Braze vous permet de configurer vos icônes de notification en spécifiant des ressources dessinées dans votre braze.xml :
1
2
<drawable name="com_braze_push_small_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
<drawable name="com_braze_push_large_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
Il est nécessaire de définir une petite icône de notification. Si vous n’en définissez pas, Braze utilisera par défaut l’icône de l’application comme petite icône de notification, ce qui n’est pas forcément idéal.
Définir une grande icône de notification est facultatif, mais recommandé.
Spécifier la couleur d’accentuation de l’icône
La couleur d’accentuation de l’icône de notification peut être modifiée dans votre braze.xml. Si la couleur n’est pas spécifiée, la couleur par défaut est le même gris que celui utilisé par Lollipop pour les notifications du système.
1
<integer name="com_braze_default_notification_accent_color">0xFFf33e3e</integer>
Vous pouvez également utiliser une référence de couleur :
1
<color name="com_braze_default_notification_accent_color">@color/my_color_here</color>
Étape 4 : Ajouter des liens profonds
Activer l’ouverture automatique du lien profond
Pour permettre à Braze d’ouvrir automatiquement votre application et les liens profonds lorsqu’une notification push est cliquée, définissez com_braze_handle_push_deep_links_automatically sur true dans votre fichier braze.xml :
1
<bool name="com_braze_handle_push_deep_links_automatically">true</bool>
Cet indicateur peut également être défini par la configuration de l’exécution :
1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build()
Braze.configure(this, brazeConfig)
Si vous souhaitez gérer de manière personnalisée les liens profonds, vous devrez créer un rappel de poussée qui écoute les poussées reçues et les intentions d’ouverture de Braze. Pour plus d’informations, voir Utilisation d’un rappel pour les événements “push”.
Création de liens profonds personnalisés
Si vous n’avez pas encore ajouté de liens profonds à votre application, suivez les instructions figurant dans la documentation destinée aux développeurs Android sur la création de liens profonds. Pour en savoir plus sur les liens profonds, consultez notre article de FAQ.
Ajouter des liens profonds
Le tableau de bord de Braze prend en charge la mise en place de liens profonds ou d’URL Web dans les campagnes de notifications push et des Canvas qui seront ouverts lorsque la notification est cliquée.

Personnaliser le comportement de la pile arrière
Par défaut, le SDK Android place l’activité du lanceur principal de votre application hôte dans la pile arrière lorsqu’il suit des liens profonds de notification push. Braze vous permet de définir qu’une activité personnalisée s’ouvre dans la pile arrière à la place de votre activité de lanceur principal ou de désactiver complètement la pile arrière.
Par exemple, pour définir une activité appelée YourMainActivity comme activité de la pile arrière à l’aide de la configuration d’exécution:
1
2
3
4
5
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
val brazeConfig = BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build()
Braze.configure(this, brazeConfig)
Consultez la configuration équivalente pour votre braze.xml. Notez que le nom de la classe doit être identique à celui renvoyé par Class.forName().
1
2
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">true</bool>
<string name="com_braze_push_deep_link_back_stack_activity_class_name">your.package.name.YourMainActivity</string>
Étape 5 : Définir les canaux de notification
Le SDK Android de Braze prend en charge les canaux de notification Android. Si une notification Braze ne contient pas d’ID pour un canal de notification ou qu’une notification Braze contient un ID de canal non valide, Braze affichera la notification avec le canal de notification par défaut défini dans le SDK. Les utilisateurs de Braze utilisent les canaux de notification Android au sein de la plateforme pour regrouper les notifications.
Pour définir le nom du canal de notification par défaut de Braze auquel l’utilisateur est confronté, procédez comme suit BrazeConfig.setDefaultNotificationChannelName().
Pour définir la description du canal de notification par défaut de Braze à laquelle l’utilisateur est confronté, utilisez la commande BrazeConfig.setDefaultNotificationChannelDescription().
Mettez à jour toutes les campagnes API avec le paramètre Android push object pour inclure le champ notification_channel. Si ce champ n’est pas spécifié, Braze enverra la charge utile de notification avec l’ID du canal de repli du tableau de bord.
En dehors du canal de notification par défaut, Braze ne crée aucun canal. Tous les autres canaux doivent être définis par programmation par l’application hôte, puis entrés dans le tableau de bord de Braze.
Le nom et la description par défaut du canal peuvent également être configurés dans braze.xml.
1
2
<string name="com_braze_default_notification_channel_name">Your channel name</string>
<string name="com_braze_default_notification_channel_description">Your channel description</string>
Étape 6 : Tester l’affichage et l’analyse des notifications
Tester l’affichage
À ce stade, vous devriez pouvoir voir les notifications envoyées par Braze. Pour tester cela, rendez-vous sur la page Campagnes de votre tableau de bord Braze et créez une campagne de notification push. Choisissez Android Push et concevez votre message. Cliquez ensuite sur l’icône « Œil » dans le composeur pour obtenir l’expéditeur de test. Saisissez l’ID ou l’adresse e-mail de votre utilisateur actuel et cliquez sur Envoyer le test. Vous devriez voir la notification push s’afficher sur votre appareil.

Pour les problèmes liés à l’affichage push, consultez notre guide de résolution des problèmes.
Tester l’analyse
À ce stade, vous devez également disposer d’un enregistrement de l’analyse pour les ouvertures de notifications push. En cliquant sur la notification lorsqu’elle arrive, le nombre d’ouvertures directes sur la page des résultats de votre campagne devrait augmenter de 1. Consultez notre article sur les rapports push pour en savoir plus sur les analyses/analytiques push.
Pour les problèmes liés à l’analyse/analytique push, consultez notre guide de résolution des problèmes.
Tester depuis la ligne de commande
Si vous souhaitez tester les notifications in-app et push via l’interface de ligne de commande, vous pouvez envoyer une seule notification par le biais du terminal via cURL et l ‘API de messages. Vous devrez remplacer les champs suivants par les valeurs correctes pour votre cas de test :
YOUR_API_KEY(Allez dans Paramètres > Clés API.)YOUR_EXTERNAL_USER_ID( Recherchez un profil utilisateur sur la page Recherche d’utilisateurs).YOUR_KEY1(facultatif)YOUR_VALUE1(facultatif)
1
2
3
4
5
6
7
8
9
10
11
12
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"android_push": {
"title":"Test push title",
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
Cet exemple utilise l’instance US-01. Si vous n’êtes pas sur cette instance, remplacez l’endpoint US-01 par votre endpoint.
Notifications push de la conversion

L’initiative des personnes et des conversations est une initiative Android pluriannuelle qui vise à améliorer la prise en compte des personnes et des conversations dans les surfaces du système du téléphone. Cette priorité est basée sur le fait que la communication et l’interaction avec d’autres personnes restent la zone fonctionnelle la plus valorisée et la plus importante pour la majorité des utilisateurs d’Android dans toutes les tranches démographiques.
Exigences d’utilisation
- Ce type de notification nécessite le SDK Braze pour Android v15.0.0 et ultérieures et des appareils Android 11 et ultérieurs.
- Les appareils ou les SDK non pris en charge reprennent une notification push standard.
Cette fonctionnalité est uniquement disponible sur l’API REST de Braze. Voir l’objet push d’Android pour plus d’informations.
Erreurs de dépassement de quota du FCM
Lorsque votre limite pour Firebase Cloud Messaging (FCM) est dépassée, Google renvoie des erreurs de type “quota dépassé”. La limite par défaut du FCM est de 600 000 requêtes par minute. Braze retente l’envoi conformément aux meilleures pratiques recommandées par Google. Cependant, un grand nombre de ces erreurs peut prolonger le temps d’envoi de plusieurs minutes. Pour atténuer l’impact potentiel, Braze vous enverra une alerte indiquant que la limite de débit est dépassée et les mesures que vous pouvez prendre pour éviter les erreurs.
Pour vérifier votre limite actuelle, accédez à votre Google Cloud Console > APIs & Services > Firebase Cloud Messaging API > Quotas & System Limits, ou visitez la page FCM API Quotas.
Bonnes pratiques
Nous vous recommandons les meilleures pratiques suivantes pour limiter le nombre d’erreurs.
Demande d’augmentation de la limite de débit auprès de la FCM
Pour demander une augmentation de la limite de débit au FCM, vous pouvez contacter directement le service d’assistance de Firebase ou procéder comme suit :
- Allez à la page Quotas de l’API du FCM.
- Emplacement/localisation du quota d’envoi de requêtes par minute.
- Sélectionnez Modifier le quota.
- Saisissez une nouvelle valeur et soumettez votre demande.
Demander une limite de débit globale via Braze
Pour appliquer une limite à l’échelle de l’espace de travail pour les notifications push Android, contactez l’assistance Braze.
Limites de débit
Les notifications push sont limitées en débit, n’ayez donc pas peur d’en envoyer autant que votre application en a besoin. iOS et les serveurs du service de notification push (APN) d’Apple contrôleront la fréquence à laquelle elles sont délivrées, et vous n’aurez pas d’ennuis si vous en envoyez trop. Si vos notifications push sont limitées, elles peuvent être retardées jusqu’à la prochaine fois que l’appareil envoie un paquet persistant ou reçoit une autre notification.
Mise en place des notifications push
Étape 1 : Téléchargez votre jeton APN
Avant de pouvoir envoyer une notification push iOS à l’aide de Braze, vous devez télécharger votre fichier de notification push .p8, comme indiqué dans la documentation destinée aux développeurs d’Apple:
- Dans votre compte de développeur Apple, allez dans Certificats, identifiants & Profils.
- Sous Clés, sélectionnez Tous et cliquez sur le bouton d’ajout (+) dans le coin supérieur droit.
- Sous Description de la clé, saisissez un nom unique pour la clé de signature.
- Sous Services clés, cochez la case Service de notification push d’Apple (APN), puis cliquez sur Continuer. Cliquez sur Confirmer.
- Notez l’ID de la clé. Cliquez sur Télécharger pour générer et télécharger la clé. Assurez-vous d’enregistrer le fichier téléchargé dans un endroit sécurisé, car vous ne pouvez pas le télécharger plus d’une fois.
- Dans Braze, allez dans Paramètres > Paramètres des applications et téléchargez le fichier
.p8sous Certificat de notification push Apple. Vous pouvez charger votre certificat de notifications push de développement ou de production. Pour tester les notifications push une fois que votre application est en ligne dans l’App Store, il est recommandé de créer un espace de travail distinct pour la version de développement de votre application. - Lorsque vous y êtes invité, saisissez l’ ID de l’offre groupée, l’ ID de la clé et l’ ID de l’équipe de votre application. Vous devrez également préciser si les notifications doivent être envoyées à l’environnement de développement ou de production de votre application, qui est défini par son profil de provisionnement.
- Lorsque vous avez terminé, sélectionnez Enregistrer.
Étape 2 : Activer les fonctionnalités de notification push
Dans Xcode, accédez à la section Signing & Capabilities de la cible principale de l’app et ajoutez la capacité de notifications push.

Étape 3 : Mise en place de la manutention par poussée
Vous pouvez utiliser le SDK Swift pour automatiser le traitement des notifications à distance reçues de Braze. C’est la façon la plus simple de gérer les notifications push et c’est la méthode de gestion recommandée.
Étape 3.1 : Activer l’automatisation dans la propriété push
Pour activer l’intégration automatique des notifications push, définissez la propriété automation de la configuration push sur true :
1
2
let configuration = Braze.Configuration(apiKey: "{YOUR-BRAZE-API-KEY}", endpoint: "{YOUR-BRAZE-API-ENDPOINT}")
configuration.push.automation = true
1
2
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"{YOUR-BRAZE-API-KEY}" endpoint:@"{YOUR-BRAZE-API-ENDPOINT}"];
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
Cela demande au SDK de :
- Enregistrer votre application pour les notifications push dans le système.
- Demander l’autorisation/permission de la notification push lors de l’initialisation.
- Fournir dynamiquement des implémentations pour les méthodes de délégation du système liées à la notification push.
Les étapes d’automatisation réalisées par le SDK sont compatibles avec les intégrations préexistantes de traitement des notifications push dans votre base de code. Le SDK automatise uniquement le traitement des notifications à distance reçues de Braze. Tout gestionnaire de système implémenté pour traiter vos propres notifications à distance ou celles d’un autre SDK tiers continue à fonctionner lorsque l’automation est activée.
Le SDK doit être initialisé sur le fil de discussion principal pour permettre l’automatisation des notifications push. L’initialisation du SDK doit avoir lieu avant la fin du lancement de l’application ou dans l’implémentation des application(_:didFinishLaunchingWithOptions:) de votre AppDelegate.
Si votre application nécessite une configuration supplémentaire avant l’initialisation du SDK, veuillez consulter la page de documentation Initialisation différée.
Étape 3.2 : Remplacer les configurations individuelles (en option)
Pour un contrôle plus précis, chaque étape d’automatisation peut être activée ou désactivée individuellement :
1
2
3
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = true
configuration.push.automation.requestAuthorizationAtLaunch = false
1
2
3
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
configuration.push.automation.requestAuthorizationAtLaunch = NO;
Voir Braze.Configuration.Push.Automation pour connaître toutes les options disponibles et automation pour plus d’informations sur le comportement de l’automatisation.
Si vous comptez sur les notifications push pour des comportements supplémentaires spécifiques à votre appli, vous pouvez toujours utiliser l’intégration push automatique au lieu de l’intégration manuelle des notifications push. La méthode subscribeToUpdates(_:) permet d’être informé des notifications à distance traitées par Braze.
Étape 3.1 : S’inscrire aux notifications push avec les APN
Incluez l’exemple de code approprié dans la méthode de délégationapplication:didFinishLaunchingWithOptions: de votre application afin que les appareils de vos utilisateurs puissent s’enregistrer auprès des APN. Assurez-vous d’appeler tout le code d’intégration push dans le thread principal de votre application.
Braze fournit également des catégories push par défaut pour la prise en charge des boutons d’action push, qui doivent être ajoutées manuellement à votre code d’enregistrement push. Reportez-vous aux boutons d’action push pour connaître les étapes d’intégration supplémentaires.
Ajoutez le code suivant à la méthode application:didFinishLaunchingWithOptions: de votre délégué d’application.
L’exemple de code suivant inclut l’intégration pour l’authentification de notification push provisoire (lignes 5 et 6). Si vous ne prévoyez pas d’utiliser l’autorisation provisoire dans votre application, vous pouvez supprimer les lignes du code qui ajoutent UNAuthorizationOptionProvisional aux options requestAuthorization.
Consultez les options de notification iOS pour en savoir plus sur l’authentification provisoire par push.
1
2
3
4
5
6
7
8
9
10
11
application.registerForRemoteNotifications()
let center = UNUserNotificationCenter.current()
center.setNotificationCategories(Braze.Notifications.categories)
center.delegate = self
var options: UNAuthorizationOptions = [.alert, .sound, .badge]
if #available(iOS 12.0, *) {
options = UNAuthorizationOptions(rawValue: options.rawValue | UNAuthorizationOptions.provisional.rawValue)
}
center.requestAuthorization(options: options) { granted, error in
print("Notification authorization, granted: \(granted), error: \(String(describing: error))")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[application registerForRemoteNotifications];
UNUserNotificationCenter *center = UNUserNotificationCenter.currentNotificationCenter;
[center setNotificationCategories:BRZNotifications.categories];
center.delegate = self;
UNAuthorizationOptions options = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
if (@available(iOS 12.0, *)) {
options = options | UNAuthorizationOptionProvisional;
}
[center requestAuthorizationWithOptions:options
completionHandler:^(BOOL granted, NSError *_Nullable error) {
NSLog(@"Notification authorization, granted: %d, "
@"error: %@)",
granted, error);
}];
Vous devez attribuer votre objet délégué à l’aide de center.delegate = self manière synchronisée avant que votre application ne termine son lancement, de préférence dans application:didFinishLaunchingWithOptions:. Sans cela, votre application risque de ne pas recevoir les notifications push entrantes. Consultez la documentation d’Apple UNUserNotificationCenterDelegate pour en savoir plus.
Étape 3.2 : Enregistrer des jetons avec Braze
Une fois l’enregistrement des APN terminé, transmettez le deviceToken généré à Braze pour activer les notifications push pour l’utilisateur.
Ajoutez le code suivant à la méthode application(_:didRegisterForRemoteNotificationsWithDeviceToken:) de votre application :
1
AppDelegate.braze?.notifications.register(deviceToken: deviceToken)
Ajoutez le code suivant à la méthode application:didRegisterForRemoteNotificationsWithDeviceToken: de votre application :
1
[AppDelegate.braze.notifications registerDeviceToken:deviceToken];
La méthode de délégation application:didRegisterForRemoteNotificationsWithDeviceToken: est appelée chaque fois après que application.registerForRemoteNotifications() soit employée.
Si vous migrez vers Braze depuis un autre service de notification push et que l’appareil de votre utilisateur a déjà enregistré des APN, cette méthode collectera des jetons à partir des enregistrements existants la prochaine fois que la méthode est utilisée, et les utilisateurs n’auront pas à se réabonner aux notifications push.
Étape 3.3 : Activer la gestion des notifications push
Ensuite, transmettez les notifications push reçues à Braze. Cette étape est nécessaire pour la journalisation de l’analyse/analytique push et la gestion des liens. Assurez-vous d’appeler tout le code d’intégration push dans le thread principal de votre application.
Traitement par défaut des notifications push
Pour activer la gestion du push par défaut de Braze, ajoutez le code suivant à la méthode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) de votre application :
1
2
3
4
5
6
7
if let braze = AppDelegate.braze, braze.notifications.handleBackgroundNotification(
userInfo: userInfo,
fetchCompletionHandler: completionHandler
) {
return
}
completionHandler(.noData)
Ensuite, ajoutez ce qui suit à la méthode userNotificationCenter(_:didReceive:withCompletionHandler:) de votre application :
1
2
3
4
5
6
7
if let braze = AppDelegate.braze, braze.notifications.handleUserNotification(
response: response,
withCompletionHandler: completionHandler
) {
return
}
completionHandler()
Pour activer la gestion du push par défaut de Braze, ajoutez le code suivant à la méthode application:didReceiveRemoteNotification:fetchCompletionHandler: de votre application :
1
2
3
4
5
6
7
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleBackgroundNotificationWithUserInfo:userInfo
fetchCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler(UIBackgroundFetchResultNoData);
Puis ajoutez le code suivant à la méthode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: de votre application :
1
2
3
4
5
6
7
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleUserNotificationWithResponse:response
withCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler();
Gestion des notifications push au premier plan
Pour activer les notifications push au premier plan et permettre à Braze de les reconnaître lorsqu’elles sont reçues, implémentez UNUserNotificationCenter.userNotificationCenter(_:willPresent:withCompletionHandler:). Si un utilisateur appuie sur votre notification au premier plan, le délégué push de userNotificationCenter(_:didReceive:withCompletionHandler:) sera appelé et Braze enregistrera l’événement push click.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions
) -> Void) {
if let braze = AppDelegate.braze {
// Forward notification payload to Braze for processing.
braze.notifications.handleForegroundNotification(notification: notification)
}
// Configure application's foreground notification display options.
if #available(iOS 14.0, *) {
completionHandler([.list, .banner])
} else {
completionHandler([.alert])
}
}
Pour activer les notifications push au premier plan et permettre à Braze de les reconnaître lorsqu’elles sont reçues, implémentez userNotificationCenter:willPresentNotification:withCompletionHandler:. Si un utilisateur appuie sur votre notification au premier plan, le délégué push de userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: sera appelé et Braze enregistrera l’événement push click.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (AppDelegate.braze != nil) {
// Forward notification payload to Braze for processing.
[AppDelegate.braze.notifications handleForegroundNotificationWithNotification:notification];
}
// Configure application's foreground notification display options.
if (@available(iOS 14.0, *)) {
completionHandler(UNNotificationPresentationOptionList | UNNotificationPresentationOptionBanner);
} else {
completionHandler(UNNotificationPresentationOptionAlert);
}
}
Notifications d’essais
Si vous souhaitez tester des notifications push et in-app à l’aide de la ligne de commande, vous pouvez envoyer une seule notification par le terminal via cURL et l’API d’envoi de messages. Vous devrez remplacer les champs suivants par les valeurs correctes pour votre cas de test :
YOUR_API_KEY- disponible dans Réglages > Clés API.YOUR_EXTERNAL_USER_ID- disponible sur la page Recherche d’utilisateurs. Pour plus d’informations, reportez-vous à la rubrique Attribution d’ID d’utilisateur.YOUR_KEY1(facultatif)YOUR_VALUE1(facultatif)
Dans l’exemple suivant, l’instance US-01 est utilisée. Si vous n’êtes pas sur cette instance, reportez-vous à notre documentation API pour savoir à quel endpoint adresser vos requêtes.
1
2
3
4
5
6
7
8
9
10
11
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"apple_push": {
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
S’abonner aux mises à jour par notification push
Pour accéder aux charges utiles des notifications push traitées par Braze, utilisez la méthode Braze.Notifications.subscribeToUpdates(payloadTypes:_:).
Vous pouvez utiliser le paramètre payloadTypes pour indiquer si vous souhaitez vous abonner à des notifications concernant des événements push ouverts, des événements push reçus ou les deux.
1
2
3
4
5
6
// This subscription is maintained through a Braze cancellable, which will observe for changes until the subscription is cancelled.
// You must keep a strong reference to the cancellable to keep the subscription active.
// The subscription is canceled either when the cancellable is deinitialized or when you call its `.cancel()` method.
let cancellable = AppDelegate.braze?.notifications.subscribeToUpdates(payloadTypes: [.open, .received]) { payload in
print("Braze processed notification with title '\(payload.title)' and body '\(payload.body)'")
}
Gardez à l’esprit que les événements reçus par les notifications push ne se déclenchent que pour les notifications au premier plan et pour les notifications en arrière-plan content-available. Il ne se déclenchera pas pour les notifications reçues alors qu’elles sont terminées ou pour les notifications d’arrière-plan sans le champ content-available.
1
2
3
4
5
NSInteger filtersValue = BRZNotificationsPayloadTypeFilter.opened.rawValue | BRZNotificationsPayloadTypeFilter.received.rawValue;
BRZNotificationsPayloadTypeFilter *filters = [[BRZNotificationsPayloadTypeFilter alloc] initWithRawValue: filtersValue];
BRZCancellable *cancellable = [notifications subscribeToUpdatesWithPayloadTypes:filters update:^(BRZNotificationsPayload * _Nonnull payload) {
NSLog(@"Braze processed notification with title '%@' and body '%@'", payload.title, payload.body);
}];
Gardez à l’esprit que les événements reçus par les notifications push ne se déclenchent que pour les notifications au premier plan et pour les notifications en arrière-plan content-available. Il ne se déclenchera pas pour les notifications reçues alors qu’elles sont terminées ou pour les notifications d’arrière-plan sans le champ content-available.
Lorsque vous utilisez l’intégration push automatique, subscribeToUpdates(_:) est le seul moyen d’être informé des notifications à distance traitées par Braze. Les méthodes système UIAppDelegate et UNUserNotificationCenterDelegate ne sont pas appelées lorsque la notification est traitée automatiquement par Braze.
Créez votre abonnement de notification push dans application(_:didFinishLaunchingWithOptions:) pour vous assurer que votre abonnement est déclenché après qu’un utilisateur final a tapé sur une notification alors que votre appli est dans un état terminé.
Amorces de notifications push
Les campagnes d’amorces de notifications push encouragent vos utilisateurs à activer les notifications push sur leur appareil pour votre appli. Ceci peut se faire sans personnalisation du SDK, grâce à notre amorce de notifications push sans code.
Gestion dynamique des passerelles APN
La gestion dynamique de la passerelle du service de notification push d’Apple (APNs) améliore la fiabilité et l’efficacité des notifications push d’iOS en détectant automatiquement l’environnement APNs adéquat. Auparavant, vous deviez sélectionner manuellement des environnements APN (développement ou production) pour vos notifications push, ce qui entraînait parfois des configurations de passerelle incorrectes, des échecs de réception/distribution et des erreurs BadDeviceToken.
Grâce à la gestion dynamique des passerelles APN, vous aurez :
- Amélioration de la fiabilité : Les notifications sont toujours envoyées à l’environnement des APN corrects, ce qui réduit les échecs de réception/distribution.
- Configuration simplifiée : Vous n’avez plus besoin de gérer manuellement les paramètres des passerelles APN.
- Résilience aux erreurs : Les valeurs invalides ou manquantes de la passerelle sont traitées avec élégance, ce qui permet d’assurer un service ininterrompu.
Conditions préalables
Braze prend en charge la gestion des passerelles APN dynamiques pour les notifications push sur iOS avec la condition de version du SDK suivante :
Fonctionnement
Lorsqu’une app iOS s’intègre au SDK Swift de Braze, elle envoie des données liées à l’appareil, notamment […] aps-environment à l’API SDK de Braze, si elle est disponible. La valeur apns_gateway indique si l’application utilise l’environnement APN de développement (dev) ou de production (prod).
Braze enregistre également la valeur de la passerelle signalée pour chaque appareil. Si une nouvelle valeur de passerelle valide est reçue, Braze met automatiquement à jour la valeur stockée.
Lorsque Braze envoie une notification push :
- Si une valeur de passerelle valide (dev ou prod) est enregistrée pour l’appareil, Braze l’utilise pour déterminer l’environnement APN correct.
- Si aucune valeur de passerelle n’est enregistrée, Braze utilise par défaut l’environnement des APN configuré dans la page Paramètres de l’application.
Foire aux questions
Pourquoi cette fonctionnalité a-t-elle été introduite ?
Grâce à la gestion dynamique des passerelles APN, l’environnement adéquat est sélectionné automatiquement. Auparavant, vous deviez configurer manuellement la passerelle APN, ce qui pouvait entraîner des erreurs sur BadDeviceToken, l’invalidation des jetons et d’éventuels problèmes de limitation du débit des APN.
Quel est l’impact sur la performance de la réception/distribution ?
Cette fonctionnalité améliore les taux de réception/distribution en acheminant toujours les jetons push vers l’environnement des APN corrects, évitant ainsi les échecs causés par des passerelles mal configurées.
Puis-je désactiver cette fonctionnalité ?
La gestion dynamique des passerelles APN est activée par défaut et permet d’améliorer la fiabilité. Si vous avez des cas d’utilisation spécifiques qui nécessitent une sélection manuelle de la passerelle, contactez l’assistance de Braze.
À propos des notifications push pour Android TV

Bien qu’il ne s’agisse pas d’une fonctionnalité native, l’intégration d’une notification push pour Android TV est rendue possible en exploitant le SDK Braze pour Android et la messagerie cloud Firebase pour enregistrer un jeton de notification push pour Android TV. Il est cependant nécessaire de construire une interface utilisateur pour afficher la charge utile de la notification après sa réception.
Conditions préalables
Pour utiliser cette fonctionnalité, vous devez effectuer les opérations suivantes :
Mise en place des notifications push
Pour configurer les notifications push pour Android TV :
- Créez une vue personnalisée dans votre application pour afficher vos notifications.
- Créez une usine de notification personnalisée. Elle remplacera le comportement SDK par défaut et vous permet d’afficher manuellement les notifications. En retournant
null, elle empêchera le SDK de la traiter et nécessitera un code personnalisé pour afficher la notification. Après avoir terminé ces étapes, vous pouvez commencer à envoyer des notifications push à Android TV ! - (Facultatif) Pour un suivi efficace de l’analyse/analytique des clics, configurez le suivi de l’analyse/analytique des clics. Cela peut être réalisé en créant un callback de push pour écouter les intentions de push ouvertes et reçues de Braze.
Ces notifications ne persistent pas et ne sont visibles pour l’utilisateur que lorsque l’appareil les affiche. Ceci est dû au centre de notification d’Android TV qui ne prend pas en charge les notifications historiques.
Tester les notifications push d’Android TV
Pour tester si votre implémentation de notification push est réussie, envoyez une notification depuis le tableau de bord de Braze comme vous le feriez normalement pour un appareil Android.
- Si l’application est fermée Le message push affichera une notification de toast à l’écran.
- Si l’application est ouverte: Vous avez la possibilité d’afficher le message dans votre propre IU hébergée. Nous vous recommandons de suivre le style IU de nos messages in-app du SDK Android Mobile.
Bonnes pratiques
Pour les marketeurs utilisant Braze, lancer une campagne vers Android TV sera identique à lancer un push vers les applications mobiles Android. Pour cibler exclusivement ces appareils, nous vous recommandons de sélectionner l’application Android TV dans la segmentation.
La réponse fournie et cliquée retournée par FCM suivra la même convention que l’appareil mobile Android. Par conséquent, toute erreur sera visible dans le journal des activités du message.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Braze de Cordova. Une fois que vous avez intégré le SDK, la fonctionnalité de base des notifications push est activée par défaut. Pour utiliser les notifications push riches et les contenus push, vous devrez les configurer individuellement. Pour utiliser les messages push d’iOS, vous devez également télécharger un certificat push valide.
Chaque fois que vous ajoutez, supprimez ou mettez à jour vos plugins Cordova, Cordova écrase le Podfile dans le projet Xcode de votre application iOS. Cela signifie que vous devrez à nouveau configurer ces fonctionnalités à chaque fois que vous modifierez vos plugins Cordova.
Désactivation des notifications push de base (iOS uniquement).
Après avoir intégré le SDK Braze Cordova pour iOS, la fonctionnalité de base des notifications push est activée par défaut. Pour désactiver cette fonctionnalité dans votre application iOS, ajoutez ce qui suit à votre fichier config.xml. Pour plus d’informations, voir Configurations optionnelles.
1
2
3
4
<platform name="ios">
<preference name="com.braze.ios_disable_automatic_push_registration" value="NO" />
<preference name="com.braze.ios_disable_automatic_push_handling" value="NO" />
</platform>
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK de Flutter Braze.
Mise en place des notifications push
Étape 1 : Terminer la configuration initiale
Étape 1.1 : Enregistrer la notification push
Enregistrez-vous pour les notifications push en utilisant l’API Firebase Cloud Messaging (FCM) de Google. Pour accéder à une présentation complète, reportez-vous aux étapes suivantes du guide d’intégration des notifications push Native Android :
- Ajoutez Firebase à votre projet.
- Ajoutez Cloud Messaging à vos dépendances.
- Créez un compte de service.
- Générez des identifiants JSON.
- Téléchargez vos informations d’identification JSON sur Braze.
Étape 1.2 : Obtenez votre ID d’expéditeur Google
Tout d’abord, accédez à la console Firebase, ouvrez votre projet, puis sélectionnez Paramètres > Paramètres du projet.

Sélectionnez Messagerie Cloud, puis sous API Firebase Cloud Messaging (V1), copiez l’ID de l’expéditeur dans votre presse-papiers.

Étape 1.3 : Mettez à jour votre braze.xml
Ajoutez ce qui suit à votre fichier braze.xml. Remplacez FIREBASE_SENDER_ID par l’ID de l’expéditeur que vous avez copié précédemment.
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Étape 1.1 : Télécharger les certificats APN
Générez un certificat pour le service de notification push d’Apple (APNs) et téléchargez-le dans le tableau de bord de Braze. Pour accéder à une description complète, voir Charger votre certificat APN.
Étape 1.2 : Ajoutez la prise en charge des notifications push à votre application.
Suivez le guide d’intégration native pour iOS.
Étape 2 : Écouter les événements de notification push (facultatif).
Pour écouter les événements de notifications push que Braze a détectés et traités, appelez subscribeToPushNotificationEvents() et transmettez un argument à exécuter.
Les événements de notification push de Braze sont disponibles sur Android et iOS. En raison des différences entre les plateformes, iOS ne détectera les événements push de Braze que lorsqu’un utilisateur aura interagi avec une notification.
1
2
3
4
5
6
7
8
9
10
// Create stream subscription
StreamSubscription pushEventsStreamSubscription;
pushEventsStreamSubscription = braze.subscribeToPushNotificationEvents((BrazePushEvent pushEvent) {
print("Push Notification event of type ${pushEvent.payloadType} seen. Title ${pushEvent.title}\n and deeplink ${pushEvent.url}");
// Handle push notification events
});
// Cancel stream subscription
pushEventsStreamSubscription.cancel();
Champs d’événements de la notification push
En raison des limitations de la plateforme sur iOS, le SDK Braze peut uniquement traiter les charges utiles des notifications push lorsque l’appli est au premier plan. Les écouteurs ne se déclencheront pour le type d’événement push_opened sur iOS qu’après qu’un utilisateur aura interagi avec une notification push.
Pour obtenir une liste complète des champs de notifications push, reportez-vous au tableau ci-dessous :
| Nom du champ | Type | Description |
|---|---|---|
payloadType |
Chaîne de caractères | Spécifie le type de charge utile de la notification. Les deux valeurs envoyées par le SDK Braze pour Flutter sont push_opened et push_received. Seuls les événements push_opened sont pris en charge sur iOS. |
url |
Chaîne de caractères | Spécifie l’URL qui a été ouvert par la notification. |
useWebview |
Valeur booléenne | Si la valeur est true, l’URL s’ouvrira dans l’application, dans une fenêtre WebView modale. Si la valeur est false, l’URL s’ouvrira dans le navigateur de l’appareil. |
title |
Chaîne de caractères | Représente le titre de la notification. |
body |
Chaîne de caractères | Représente le corps ou le contenu du texte de la notification. |
summaryText |
Chaîne de caractères | Représente le texte résumé de la notification. Celle-ci est mappée à partir de subtitle sur iOS. |
badgeCount |
Nombre | Représente le nombre de badges de la notification. |
timestamp |
Nombre | Représente l’heure à laquelle la charge utile a été reçue par l’application. |
isSilent |
Valeur booléenne | Si la valeur est true, la charge utile est reçue en silence. Pour plus de détails sur l’envoi de notifications push silencieuses sur Android, reportez-vous à la section Notifications push silencieuses sur Android. Pour plus de détails sur l’envoi de notifications push silencieuses sur iOS, reportez-vous à la section Notifications push silencieuses sur iOS. |
isBrazeInternal |
Valeur booléenne | Cette adresse sera true si une charge utile de notification a été envoyée pour une fonctionnalité interne du SDK, telle que la synchronisation des géorepérages, la synchronisation des indicateurs de fonctionnalités ou le suivi des désinstallations. La charge utile est reçue silencieusement par l’utilisateur. |
imageUrl |
Chaîne de caractères | Spécifie l’URL associée à l’image de notification. |
brazeProperties |
Objet | Représente les propriétés de Braze associées à la campagne (paires clé-valeur). |
ios |
Objet | Représente les champs spécifiques à iOS. |
android |
Objet | Représente les champs spécifiques à Android. |
Étape 3 : Tester l’affichage des notifications push
Pour tester votre intégration après avoir configuré les notifications push dans la couche native :
- Configurez un utilisateur actif dans l’application Flutter. Pour ce faire, initialisez votre plug-in en appelant
braze.changeUser('your-user-id'). - Allez dans Campagnes et créez une nouvelle campagne de notification push. Choisissez les plateformes que vous souhaitez tester.
- Composez votre notification test et sélectionnez l’onglet Test. Ajoutez le même
user-idque l’utilisateur test et cliquez sur Envoyer le test. - Vous devriez recevoir rapidement la notification sur votre appareil. Vous devrez peut-être vérifier le centre de notification ou mettre à jour les paramètres si elle ne s’affiche pas.
À partir de Xcode 14, vous pouvez tester les notifications push à distance sur un simulateur iOS.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android Braze.
Mise en place des notifications push
Les téléphones récents fabriqués par Huawei sont équipés des services mobiles Huawei (HMS), un service utilisé pour envoyer des notifications push au lieu de recourir à Firebase Cloud Messaging (FCM) de Google.
Étape 1 : Enregistrer un compte de développeur Huawei
Avant de commencer, vous devrez vous enregistrer et configurer un compte de développeur Huawei. Dans votre compte Huawei, allez dans Mes projets > Paramètres du projet > Informations sur l’application, et notez les adresses App ID et App secret.

Étape 2 : Créer une nouvelle application Huawei dans le tableau de bord de Braze
Dans le tableau de bord de Braze, allez dans Paramètres de l’application, répertorié sous la navigation Paramètres.
Cliquez sur + Ajouter une application, fournissez un nom (comme Mon application Huawei) et sélectionnez Android comme plateforme.

Une fois que votre nouvelle application Braze a été créée, trouvez les paramètres de notification push et sélectionnez Huawei en tant que fournisseur de notification push. Ensuite, fournissez votre Huawei Client Secret et Huawei App ID.

Étape 3 : Intégrer le SDK de messagerie Huawei à votre application
Huawei a fourni un codelab d’intégration Android détaillant l’intégration du Huawei Messaging Service dans votre application. Suivez ces étapes pour commencer.
Après avoir terminé le codelab, vous devrez créer un service de messages Huawei personnalisé pour obtenir des jetons de poussée et envoyer des messages au SDK de Braze.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class CustomPushService extends HmsMessageService {
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Braze.getInstance(this.getApplicationContext()).setRegisteredPushToken(token);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(this.getApplicationContext(), remoteMessage.getDataOfMap())) {
// Braze has handled the Huawei push notification
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
class CustomPushService: HmsMessageService() {
override fun onNewToken(token: String?) {
super.onNewToken(token)
Braze.getInstance(applicationContext).setRegisteredPushToken(token!!)
}
override fun onMessageReceived(hmsRemoteMessage: RemoteMessage?) {
super.onMessageReceived(hmsRemoteMessage)
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(applicationContext, hmsRemoteMessage?.dataOfMap)) {
// Braze has handled the Huawei push notification
}
}
}
Après avoir ajouté votre service de notification push personnalisé, ajoutez les éléments suivants à votre AndroidManifest.xml :
1
2
3
4
5
6
7
<service
android:name="package.of.your.CustomPushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
Étape 4 : Testez vos notifications push (facultatif)
À ce stade, vous avez créé une nouvelle application Android Huawei dans le tableau de bord de Braze, l’avez configurée avec vos identifiants de développeur Huawei et avez intégré les SDK Braze et Huawei dans votre application.
Ensuite, nous pouvons tester l’intégration en essayant une nouvelle campagne de notifications push dans Braze.
Étape 4.1 : Créer une nouvelle campagne de notifications push
Dans la page Campagnes, créez une nouvelle campagne et choisissez Notification push comme type de message.
Après avoir nommé votre campagne, choisissez Android Push comme plateforme de push.

Ensuite, composez votre campagne de notification push avec un titre et un message.
Étape 4.2 : Envoyer un test de notification push
Dans l’onglet Test, entrez votre ID utilisateur, que vous avez défini dans votre application à l’aide de la méthodechangeUser(USER_ID_STRING) , et cliquez sur Envoyer le test pour envoyer un push de test.

À ce stade, vous devriez recevoir une notification push de test sur votre appareil Huawei (HMS) de la part de Braze.
Étape 4.3 : Mise en place de la segmentation Huawei (facultatif)
Étant donné que votre application Huawei dans le tableau de bord de Braze est basée sur la plateforme de notification push Android, vous avez la possibilité d’envoyer des notifications push à tous les utilisateurs Android (Firebase Cloud Messaging et Huawei Mobile Services), ou vous pouvez choisir de segmenter votre audience de campagne pour des applications spécifiques.
Pour envoyer des messages push uniquement aux applications Huawei, créez un nouveau segment et sélectionnez votre application Huawei dans la section Apps.

Bien entendu, si vous souhaitez envoyer le même push à tous les fournisseurs de push Android, vous pouvez choisir de ne pas spécifier l’application qui enverra à toutes les applications Android configurées dans l’espace de travail actuel.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK React Native Braze.
Mise en place des notifications push
Étape 1 : Terminer la configuration initiale
Conditions préalables
Avant de pouvoir utiliser Expo pour les notifications push, vous devez configurer le plugin Expo de Braze.
Étape 1.1 : Mettez à jour votre fichier app.json
Mettez ensuite à jour votre fichier app.json pour Android et iOS :
- Android : Ajoutez l’option
enableFirebaseCloudMessaging. - iOS : Ajoutez l’option
enableBrazeIosPush.
Étape 1.2 : Ajouter votre ID d’expéditeur Google
Tout d’abord, accédez à la console Firebase, ouvrez votre projet, puis sélectionnez Paramètres > Paramètres du projet.

Sélectionnez Messagerie Cloud, puis sous API Firebase Cloud Messaging (V1), copiez l’ID de l’expéditeur dans votre presse-papiers.

Ensuite, ouvrez le fichier app.json de votre projet et attribuez à la propriété firebaseCloudMessagingSenderId l’ID de l’expéditeur figurant dans votre presse-papiers. Par exemple :
1
"firebaseCloudMessagingSenderId": "693679403398"
Étape 1.3 : Ajouter le chemin d’accès à votre JSON Google Services
Dans le fichier app.json de votre projet, ajoutez le chemin d’accès à votre fichier google-services.json. Ce fichier est nécessaire lors de la définition de enableFirebaseCloudMessaging: true dans votre configuration.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"expo": {
"android": {
"googleServicesFile": "PATH_TO_GOOGLE_SERVICES"
},
"plugins": [
[
"@braze/expo-plugin",
{
"androidApiKey": "YOUR-ANDROID-API-KEY",
"iosApiKey": "YOUR-IOS-API-KEY",
"enableBrazeIosPush": true,
"enableFirebaseCloudMessaging": true,
"firebaseCloudMessagingSenderId": "YOUR-FCM-SENDER-ID",
"androidHandlePushDeepLinksAutomatically": true
}
],
]
}
}
Notez que vous devrez utiliser ces paramètres au lieu des instructions de configuration natives si vous dépendez de bibliothèques de notifications push supplémentaires comme Expo Notifications.
Si vous n’utilisez pas le plugin Braze Expo, ou si vous souhaitez plutôt configurer ces paramètres de manière native, inscrivez-vous à push en vous référant au guide d’intégration native de push Android.
Si vous n’utilisez pas le plugin Braze Expo, ou si vous souhaitez plutôt configurer ces paramètres de manière native, inscrivez-vous à push en vous référant aux étapes suivantes du guide de l’intégration push iOS native :
Étape 1.1 : Demande d’autorisation de pousser
Si vous n’avez pas l’intention de demander des permissions push au lancement de l’application, omettez l’appel à requestAuthorizationWithOptions:completionHandler: dans votre AppDelegate. Passez ensuite à l’étape 2. Sinon, suivez le guide d’intégration native d’iOS.
Étape 1.2 (facultative) : Migrer votre clé de notifications push
Si vous utilisiez auparavant expo-notifications pour gérer votre clé de notification push, exécutez expo fetch:ios:certs dans le dossier racine de votre application. Cela téléchargera votre clé de notification push (un fichier .p8), qui peut ensuite être téléchargée sur le tableau de bord de Braze.
Étape 2 : Demander une autorisation de notification push
Utilisez la méthode Braze.requestPushPermission() (disponible sur v1.38.2 et supérieures) pour demander une autorisation des notifications push à l’utilisateur sur iOS et Android 13 et supérieurs. Pour Android 12 et inférieurs, cette méthode n’est pas opérationnelle.
Cette méthode intègre in paramètre requis qui précise les autorisations que SDK doit demander à l’utilisateur sur iOS. Ces options n’ont pas d’effet sur Android.
1
2
3
4
5
6
7
8
const permissionOptions = {
alert: true,
sound: true,
badge: true,
provisional: false
};
Braze.requestPushPermission(permissionOptions);
Étape 2.1 : Écouter les notifications push (facultatif)
Vous pouvez en outre vous abonner aux événements au cours desquels Braze a détecté et traité une notification push entrante. Utilisez la clé d’auditeur Braze.Events.PUSH_NOTIFICATION_EVENT.
Les événements iOS push reçus ne se déclenchent que pour les notifications en avant-plan et content-available pour les notifications en arrière-plan. Il ne se déclenchera pas pour les notifications reçues alors qu’elles sont terminées ou pour les notifications d’arrière-plan sans le champ content-available.
1
2
3
4
Braze.addListener(Braze.Events.PUSH_NOTIFICATION_EVENT, data => {
console.log(`Push Notification event of type ${data.payload_type} seen. Title ${data.title}\n and deeplink ${data.url}`);
console.log(JSON.stringify(data, undefined, 2));
});
Champs d’événements de la notification push
Pour obtenir une liste complète des champs de notifications push, reportez-vous au tableau ci-dessous :
| Nom du champ | Type | Description |
|---|---|---|
payload_type |
Chaîne de caractères | Spécifie le type de charge utile de la notification. Les deux valeurs envoyées par le SDK React native de Braze sont push_opened et push_received. |
url |
Chaîne de caractères | Spécifie l’URL qui a été ouvert par la notification. |
use_webview |
Valeur booléenne | Si la valeur est true, l’URL s’ouvrira dans l’application, dans une fenêtre WebView modale. Si la valeur est false, l’URL s’ouvrira dans le navigateur de l’appareil. |
title |
Chaîne de caractères | Représente le titre de la notification. |
body |
Chaîne de caractères | Représente le corps ou le contenu du texte de la notification. |
summary_text |
Chaîne de caractères | Représente le texte résumé de la notification. Celle-ci est mappée à partir de subtitle sur iOS. |
badge_count |
Nombre | Représente le nombre de badges de la notification. |
timestamp |
Nombre | Représente l’heure à laquelle la charge utile a été reçue par l’application. |
is_silent |
Valeur booléenne | Si la valeur est true, la charge utile est reçue en silence. Pour plus de détails sur l’envoi de notifications push silencieuses sur Android, reportez-vous à la section Notifications push silencieuses sur Android. Pour plus de détails sur l’envoi de notifications push silencieuses sur iOS, reportez-vous à la section Notifications push silencieuses sur iOS. |
is_braze_internal |
Valeur booléenne | Cette adresse sera true si une charge utile de notification a été envoyée pour une fonctionnalité interne du SDK, telle que la synchronisation des géorepérages, la synchronisation des indicateurs de fonctionnalités ou le suivi des désinstallations. La charge utile est reçue silencieusement par l’utilisateur. |
image_url |
Chaîne de caractères | Spécifie l’URL associée à l’image de notification. |
braze_properties |
Objet | Représente les propriétés de Braze associées à la campagne (paires clé-valeur). |
ios |
Objet | Représente les champs spécifiques à iOS. |
android |
Objet | Représente les champs spécifiques à Android. |
Étape 3 : Activer la création de liens profonds (facultatif)
Pour permettre à Braze de gérer les liens profonds à l’intérieur des composants React lorsqu’une notification push est cliquée, mettez d’abord en œuvre les étapes décrites dans la bibliothèque React Native Linking, ou avec la solution de votre choix. Ensuite, suivez les étapes supplémentaires ci-dessous.
Pour en savoir plus sur les liens profonds, consultez notre article de FAQ.
Si vous utilisez le plugin Braze Expo, vous pouvez gérer automatiquement les liens profonds de notification push en réglant androidHandlePushDeepLinksAutomatically sur true dans votre app.json.
Pour gérer manuellement les liens profonds, reportez-vous à la documentation native d’Android : Création de liens profonds.
Étape 3.1 : Stocker la charge utile de la notification push au lancement de l’application.
Sautez l’étape 3.1 si vous utilisez le plugin Braze Expo, car cette fonctionnalité est gérée automatiquement.
Pour iOS, ajoutez populateInitialPayloadFromLaunchOptions à la méthode didFinishLaunchingWithOptions de votre AppDelegate. Par exemple :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.moduleName = @"BrazeProject";
self.initialProps = @{};
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:apiKey endpoint:endpoint];
configuration.triggerMinimumTimeInterval = 1;
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazeReactBridge initBraze:configuration];
AppDelegate.braze = braze;
[self registerForPushNotifications];
[[BrazeReactUtils sharedInstance] populateInitialPayloadFromLaunchOptions:launchOptions];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
Étape 3.2 : Gestion des liens profonds à partir d’un état fermé
En plus des scénarios de base gérés par React Native Linking, mettez en œuvre la méthode Braze.getInitialPushPayload et récupérez la valeur url pour prendre en compte les liens profonds issus des notifications push qui ouvrent votre application lorsqu’elle n’est pas en cours d’exécution. Par exemple :
1
2
3
4
5
6
7
8
9
// Handles deep links when an iOS app is launched from a hard close via push click.
// This edge case is not handled in the React Native Linking library and is provided as a workaround by Braze.
Braze.getInitialPushPayload(pushPayload => {
if (pushPayload) {
console.log('Braze.getInitialPushPayload is ' + pushPayload);
showToast('Initial URL is ' + pushPayload.url);
handleOpenUrl({ pushPayload.url });
}
});
Braze fournit cette solution de contournement car l’API de liaison de React Native ne prend pas en charge ce scénario en raison d’une condition de concurrence au démarrage de l’appli.
Étape 3.3 Activer les liens universels (facultatif)
Pour activer la prise en charge de la liaison universelle, créez un fichier BrazeReactDelegate.h dans votre répertoire iOS, puis ajoutez l’extrait de code suivant.
1
2
3
4
5
6
#import <Foundation/Foundation.h>
#import <BrazeKit/BrazeKit-Swift.h>
@interface BrazeReactDelegate: NSObject<BrazeDelegate>
@end
Ensuite, créez un fichier BrazeReactDelegate.m et ajoutez-y l’extrait de code suivant. Remplacez YOUR_DOMAIN_HOST par votre domaine réel.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#import "BrazeReactDelegate.h"
#import <UIKit/UIKit.h>
@implementation BrazeReactDelegate
/// This delegate method determines whether to open a given URL.
///
/// Reference the `BRZURLContext` object to get additional details about the URL payload.
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
if ([[context.url.host lowercaseString] isEqualToString:@"YOUR_DOMAIN_HOST"]) {
// Sample custom handling of universal links
UIApplication *application = UIApplication.sharedApplication;
NSUserActivity* userActivity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
userActivity.webpageURL = context.url;
// Routes to the `continueUserActivity` method, which should be handled in your `AppDelegate`.
[application.delegate application:application
continueUserActivity:userActivity restorationHandler:^(NSArray<id<UIUserActivityRestoring>> * _Nullable restorableObjects) {}];
return NO;
}
// Let Braze handle links otherwise
return YES;
}
@end
Ensuite, créez et enregistrez votre BrazeReactDelegate dans didFinishLaunchingWithOptions du fichier AppDelegate.m de votre projet.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import "BrazeReactUtils.h"
#import "BrazeReactDelegate.h"
@interface AppDelegate ()
// Keep a strong reference to the BrazeDelegate to ensure it is not deallocated.
@property (nonatomic, strong) BrazeReactDelegate *brazeDelegate;
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Other setup code
self.brazeDelegate = [[BrazeReactDelegate alloc] init];
braze.delegate = self.brazeDelegate;
}
Pour un exemple d’intégration, référez-vous à notre exemple d’application ici.
Étape 4 : Envoyer une notification push test
À ce stade, vous devriez pouvoir envoyer des notifications aux appareils. Suivez ces étapes pour tester votre intégration de notification push.
À partir de macOS 13, sur certains appareils, vous pouvez tester les notifications push d’iOS sur un simulateur iOS 16+ fonctionnant avec Xcode 14 ou une version plus récente. Pour plus de détails, reportez-vous aux notes de version de Xcode 14.
- Définissez un utilisateur actif dans l’application React native en appelant la méthode
Braze.changeUserId('your-user-id'). - Allez dans Campagnes et créez une nouvelle campagne de notification push. Choisissez les plateformes que vous souhaitez tester.
- Composez votre notification test et sélectionnez l’onglet Test. Ajoutez le même
user-idque l’utilisateur test et cliquez sur Envoyer le test. Vous devriez recevoir rapidement la notification sur votre appareil.

Utiliser le plugin Expo
Après avoir configuré les notifications push pour Expo, vous pouvez l’utiliser pour gérer les comportements de notifications push suivants - sans avoir besoin d’écrire le moindre code dans les couches natives d’Android ou d’iOS.
Transférer les notifications push Android vers un autre FMS
Si vous souhaitez utiliser un service de messagerie Firebase (FMS) supplémentaire, vous pouvez spécifier un FMS de repli à appeler si votre application reçoit une notification push qui ne provient pas de Braze. Par exemple :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
...
"androidFirebaseMessagingFallbackServiceEnabled": true,
"androidFirebaseMessagingFallbackServiceClasspath": "com.company.OurFirebaseMessagingService"
}
]
]
}
}
Utiliser les extensions d’applications avec Expo Application Services
Si vous utilisez Expo Application Services (EAS) et que vous avez activé enableBrazeIosRichPush ou enableBrazeIosPushStories, vous devrez déclarer les identifiants de bundle correspondants pour chaque extension d’application dans votre projet. Vous pouvez aborder cette étape de plusieurs manières, selon la façon dont votre projet est configuré pour gérer la signature de code avec EAS.
Une approche consiste à utiliser la configuration appExtensions dans votre fichier app.json en suivant la documentation sur les extensions d’applications d’Expo. Vous pouvez également définir le paramètre multitarget dans votre fichier credentials.json en suivant la documentation sur les identifiants locaux d’Expo.
Résolution des problèmes
Voici les étapes de résolution des problèmes les plus courantes pour les intégrations de notifications push avec le SDK React Native et le plugin Expo de Braze.
Les notifications push ne fonctionnent plus
Si les notifications push via le plugin Expo ont cessé de fonctionner :
- Vérifiez que le SDK de Braze assure toujours le suivi des sessions.
- Vérifiez que le SDK n’a pas été désactivé par un appel explicite ou implicite à
wipeData. - Examinez les mises à jour récentes d’Expo ou des bibliothèques associées, car il peut y avoir des conflits avec votre configuration Braze.
- Examinez les dépendances de projet récemment ajoutées et vérifiez si elles remplacent manuellement vos méthodes de délégué de notification push existantes.
Pour les intégrations iOS, vous pouvez également vous référer à notre tutoriel de configuration des notifications push pour vous aider à identifier les conflits potentiels avec les dépendances de votre projet.
Le jeton de l’appareil ne s’enregistre pas dans Braze
Si le jeton de votre appareil ne s’enregistre pas dans Braze, examinez d’abord les notifications push qui ne fonctionnent plus.
Si votre problème persiste, il se peut qu’une dépendance distincte interfère avec votre configuration de notification push de Braze. Vous pouvez essayer de le supprimer ou d’appeler manuellement Braze.registerPushToken à la place.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK de Braze. Vous devrez également configurer les notifications push pour le SDK Web. Notez que vous ne pouvez envoyer des notifications push qu’aux utilisateurs d’iOS et d’iPadOS qui utilisent Safari v16.4 ou une version ultérieure.
Configurer Safari push pour les mobiles
Étape 1 : Créer un fichier de manifeste
Un manifeste d’application web est un fichier JSON qui contrôle la manière dont votre site web est présenté lorsqu’il est installé sur l’écran d’accueil d’un utilisateur.
Par exemple, vous pouvez définir la couleur du thème d’arrière-plan et l’icône que l’App Switcher utilise, si le rendu est en plein écran pour ressembler à une application native, ou si l’application doit s’ouvrir en mode paysage ou portrait.
Créez un nouveau fichier manifest.json dans le répertoire racine de votre site Web, avec les champs obligatoires suivants.
1
2
3
4
5
6
7
8
9
{
"name": "your app name",
"short_name": "your app name",
"display": "fullscreen",
"icons": [{
"src": "favicon.ico",
"sizes": "128x128",
}]
}
La liste complète des champs pris en charge est disponible ici.
Étape 2 : Lier le fichier de manifeste
Ajouter la balise suivante <link> à l’élément <head> de votre site Web pointant vers l’endroit où votre fichier de manifeste est hébergé.
1
<link rel="manifest" href="/manifest.json" />
Étape 3 : Ajouter un service de traitement
Votre site Web doit disposer d’un fichier de service de traitement qui importe la bibliothèque de services de traitement de Braze, comme décrit dans notre guide d’intégration des notifications push Web.
Étape 4 : Ajouter à l’écran d’accueil
Les navigateurs populaires (tels que Safari, Chrome, FireFox et Edge) prennent tous en charge les notifications push web dans leurs versions ultérieures. Pour demander une autorisation push sur iOS ou iPadOS, votre site web doit être ajouté à l’écran d’accueil de l’utilisateur en sélectionnant Partager vers > Ajouter à l’écran d’accueil. Ajouter à l’écran d’accueil permet aux utilisateurs de mettre votre site web en signet, en ajoutant votre icône à leur précieux écran d’accueil.

Étape 5 : Afficher l’invite de notification push native
Une fois l’application ajoutée à votre écran d’accueil, vous pouvez désormais demander une autorisation push lorsque l’utilisateur effectue une action (en cliquant sur un bouton, par exemple). Ceci peut être effectué à l’aide de la méthode requestPushPermission ou à l’aide d’un message in-app d’amorce de notification push sans code.
Après avoir accepté ou refusé l’invitation, vous devez supprimer et réinstaller le site web sur votre écran d’accueil pour pouvoir afficher à nouveau l’invitation.

Par exemple :
1
2
3
4
5
6
7
8
9
import { requestPushPermission } from "@braze/web-sdk";
button.onclick = function(){
requestPushPermission(() => {
console.log(`User accepted push prompt`);
}, (temporary) => {
console.log(`User ${temporary ? "temporarily dismissed" : "permanently denied"} push prompt`);
});
};
Étapes suivantes
Ensuite, envoyez-vous un message de test pour valider l’intégration. Une fois votre intégration terminée, vous pouvez utiliser nos messages d’amorce de notification push sans code pour optimiser vos taux d’abonnement aux notifications push.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK d’Unity Braze.
Mise en place de la notification push
Étape 1 : Mise en place de la plate-forme
Étape 1.1 : Activer Firebase
Pour commencer, suivez la documentation de configuration de Firebase Unity.
L’intégration du SDK Firebase Unity peut entraîner le remplacement de votre AndroidManifest.xml. Si cela se produit, assurez-vous de revenir à l’original.
Étape 1.2 : Définir vos informations d’identification Firebase
Vous devez saisir votre clé de serveur Firebase et votre ID d’expéditeur dans le tableau de bord de Braze : Pour ce faire, connectez-vous à la Firebase Developers Console et sélectionnez votre projet Firebase. Ensuite, sélectionnez l’option Cloud Messaging sous Settings et copiez la clé du serveur et l’ID de l’expéditeur :
Dans Braze, sélectionnez votre application Android sur la page Paramètres de l’application, sous Gérer les paramètres. Saisissez ensuite votre clé de serveur Firebase dans le champ Clé du serveur Firebase Cloud Messaging et ID d’expéditeur Firebase dans le champ ID Expéditeur de Firebase Cloud Messaging.

Étape 1.1 : Vérifier la méthode d’intégration
Braze fournit une solution Unity native pour l’automatisation des intégrations de notifications push iOS. Si vous souhaitez plutôt configurer et gérer votre intégration manuellement, consultez Swift : Notifications push.
Sinon, passez à l’étape suivante.
Notre solution de notification push automatique tire parti de la fonctionnalité d’autorisation provisoire d’iOS 12 et n’est pas disponible pour utiliser avec la fenêtre contextuelle d’invite de notification push native.
Étape 1.1 : Activer ADM
- Créez un compte sur le portail des développeurs Amazon Apps & Games si vous ne l’avez pas encore fait.
- Obtenez les identifiants OAuth (ID client et secret client) et une clé API ADM.
- Activez Enregistrement ADM automatique activé dans la fenêtre de configuration de Braze Unity.
- Vous pouvez également ajouter la ligne suivante à votre
res/values/braze.xmlpour activer l’enregistrement ADM :
- Vous pouvez également ajouter la ligne suivante à votre
1
<bool name="com_braze_push_adm_messaging_registration_enabled">true</bool>
Étape 2 : Configurer les notifications push
Étape 2.1 : Configurer les paramètres de poussée
Le SDK Braze peut gérer automatiquement l’enregistrement des notifications push avec les serveurs Firebase Cloud Messaging pour que les appareils reçoivent des notifications push. Dans Unity, activez Automate Unity Android Integration, puis configurez les paramètres de notification push suivants.
| Réglage | Description |
|---|---|
| Activation de l’enregistrement automatique de l’envoi de messages dans le nuage Firebase | Donne l’ordre au SDK Braze de récupérer et d’envoyer automatiquement un jeton de notification push FCM pour un appareil. |
| ID de l’expéditeur de Firebase Cloud Messaging | L’identifiant de l’expéditeur provenant de votre console Firebase. |
| Manipulez automatiquement les liens profonds (Push Deeplinks) | Si le SDK doit traiter des liens profonds ou ouvrir l’application lorsque des notifications push sont cliquées. |
| Petite icône de notification dessinable | Le drawable doit être affiché comme petite icône chaque fois qu’une notification push est reçue. La notification utilisera l’icône de l’application comme petite icône si aucune icône n’est fournie. |
Étape 2.1 : Téléchargez votre jeton APN
Avant de pouvoir envoyer une notification push iOS à l’aide de Braze, vous devez télécharger votre fichier de notification push .p8, comme indiqué dans la documentation destinée aux développeurs d’Apple:
- Dans votre compte de développeur Apple, allez dans Certificats, identifiants & Profils.
- Sous Clés, sélectionnez Tous et cliquez sur le bouton d’ajout (+) dans le coin supérieur droit.
- Sous Description de la clé, saisissez un nom unique pour la clé de signature.
- Sous Services clés, cochez la case Service de notification push d’Apple (APN), puis cliquez sur Continuer. Cliquez sur Confirmer.
- Notez l’ID de la clé. Cliquez sur Télécharger pour générer et télécharger la clé. Assurez-vous d’enregistrer le fichier téléchargé dans un endroit sécurisé, car vous ne pouvez pas le télécharger plus d’une fois.
- Dans Braze, allez dans Paramètres > Paramètres des applications et téléchargez le fichier
.p8sous Certificat de notification push Apple. Vous pouvez charger votre certificat de notifications push de développement ou de production. Pour tester les notifications push une fois que votre application est en ligne dans l’App Store, il est recommandé de créer un espace de travail distinct pour la version de développement de votre application. - Lorsque vous y êtes invité, saisissez l’ ID de l’offre groupée, l’ ID de la clé et l’ ID de l’équipe de votre application. Vous devrez également préciser si les notifications doivent être envoyées à l’environnement de développement ou de production de votre application, qui est défini par son profil de provisionnement.
- Lorsque vous avez terminé, sélectionnez Enregistrer.
Étape 2.2 : Activer la poussée automatique
Ouvrez les paramètres de configuration de Braze dans l’éditeur Unity en sélectionnant Braze > Configuration Braze.
Cochez Intégrer Push avec Braze pour inscrire automatiquement les utilisateurs aux notifications push, transmettre les jetons push à Braze, suivre l’analyse/analytique des ouvertures de push et tirer parti de notre gestion par défaut des notifications push.
Étape 2.3 : Activer la poussée en arrière-plan (facultatif)
Cochez Enable Background Push si vous souhaitez activer background mode pour les notifications push. Cela permet au système de réveiller votre application à partir de l’état suspended lorsqu’une notification push est reçue, permettant à votre application de télécharger le contenu en réponse aux notifications push. Le fait de cocher cette option est nécessaire pour notre fonctionnalité de suivi de la désinstallation.

Étape 2.4 : Désactiver l’enregistrement automatique (optionnel)
Les utilisateurs qui n’ont pas encore opté pour des notifications push seront automatiquement autorisés aux notifications push lors de l’ouverture de votre application. Pour désactiver cette fonctionnalité et enregistrer manuellement les utilisateurs pour le push, cochez Désactiver l’enregistrement push automatique.
- Si la case Désactiver l’autorisation provisoire n’est pas cochée sous iOS 12 ou une version ultérieure, l’utilisateur sera provisoirement (silencieusement) autorisé à recevoir le push silencieux. Si cette option est cochée, l’utilisateur affiche l’invite de notification push native.
- Si vous devez configurer exactement quand l’invite est affichée lors de l’exécution, désactivez l’enregistrement automatique de l’éditeur de configuration Braze et utilisez
AppboyBinding.PromptUserForPushPermissions()à la place.

Étape 2.1 : Mise à jour AndroidManifest.xml
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.
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
34
35
36
37
<?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" />
<permission
android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" />
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
<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: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>
<receiver android:name="com.braze.push.BrazeAmazonDeviceMessagingReceiver" android:permission="com.amazon.device.messaging.permission.SEND">
<intent-filter>
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
<category android:name="REPLACE_WITH_YOUR_PACKAGE_NAME" />
</intent-filter>
</receiver>
</application>
</manifest>
Étape 2.2 : Stocker votre clé API ADM
Tout d’abord, générez une clé API ADM pour votre application, puis enregistrez la clé dans un fichier nommé api_key.txt et ajoutez-le dans le répertoire Assets/ de votre projet.
Amazon ne reconnaîtra pas votre clé si api_key.txt contient des caractères blancs, comme un saut de ligne.
Ensuite, dans votre fichier mainTemplate.gradle, ajoutez ce qui suit :
1
2
3
4
5
6
7
task copyAmazon(type: Copy) {
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
from unityProjectPath + '/Assets/api_key.txt'
into new File(projectDir, 'src/main/assets')
}
preBuild.dependsOn(copyAmazon)
Étape 2.3 : Ajouter un Jar ADM
Le fichier Jar ADM requis peut être placé n’importe où dans votre projet, conformément à la documentation JAR d’Unity.
Étape 2.4 : Ajouter un identifiant secret client et un identifiant client à votre tableau de bord de Braze
Enfin, vous devez ajouter le Secret Client et l’ID Client que vous avez obtenus dans l’Étape 1 à la page Gérer les paramètres du tableau de bord de Braze.

Étape 3 : Définir les auditeurs de notifications push
Étape 3.1 : Activer l’écoute des messages reçus par push
L’auditeur de notification push reçu est déclenché lorsqu’un utilisateur reçoit une notification push. Pour envoyer la charge utile push à Unity, définissez le nom de votre objet de jeu et poussez la méthode de rappel de l’auditeur reçu sous la rubrique Définir l’auditeur reçu des notifications push.
Étape 3.2 : Activation de l’auditeur push ouvert
L’auditeur ouvert est déclenché lorsqu’un utilisateur lance l’application en cliquant sur une notification push. Pour envoyer la charge utile de notification push à Unity, définissez le nom de votre objet de jeu et appuyez sur la méthode de rappel de l’écoute ouverte dans Définir l’auditeur ouvert de notifications push.
Étape 3.3 : Activation de l’auditeur “push deleted
L’auditeur push supprimé est déclenché lorsqu’un utilisateur balaye ou rejette une notification push. Pour envoyer la charge utile push à Unity, définissez le nom de votre objet de jeu et la méthode de rappel push deleted listener sous la rubrique Définir l’auditeur supprimé des notifications push.
Exemple d’écoute push
L’exemple suivant implémente l’objet de jeu BrazeCallback utilisant respectivement un nom de méthode de rappel de PushNotificationReceivedCallback, PushNotificationOpenedCallback, et PushNotificationDeletedCallback.

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
public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
void PushNotificationDeletedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationDeletedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification dismissed: " + pushNotification);
#endif
}
}
Étape 3.1 : Activer l’écoute des messages reçus par push
Le récepteur push reçu est déclenché lorsqu’un utilisateur reçoit une notification push alors qu’il utilise activement l’application (par exemple, lorsque l’application est au premier plan). Définissez l’auditeur de notification push reçu dans l’éditeur de configuration Braze. Si vous devez configurer votre auditeur d’objet de jeu lors de l’exécution, utilisez AppboyBinding.ConfigureListener() et spécifiez BrazeUnityMessageType.PUSH_RECEIVED.

Étape 3.2 : Activation de l’auditeur push ouvert
L’auditeur ouvert est déclenché lorsqu’un utilisateur lance l’application en cliquant sur une notification push. Pour envoyer la charge utile de notifications push à Unity, définissez le nom de votre objet de jeu et de la méthode de rappel d’écoute ouverte des notifications push sous l’option Définir l’auditeur ouvert de notifications push :

Si vous devez configurer votre auditeur d’objet de jeu lors de l’exécution, utilisez AppboyBinding.ConfigureListener() et spécifiez BrazeUnityMessageType.PUSH_OPENED.
Exemple d’écoute push
L’exemple suivant implémente l’objet de jeu AppboyCallback utilisant respectivement un nom de méthode de rappel de PushNotificationReceivedCallback et PushNotificationOpenedCallback.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
}
En mettant à jour votre site AndroidManifest.xml à l’étape précédente, des “push listeners” ont été automatiquement mis en place lorsque vous avez ajouté les lignes suivantes. Aucune autre configuration n’est donc nécessaire.
1
2
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
Pour en savoir plus sur les “push listeners” d’ADM, consultez le site Amazon : Intégrer l’envoi de messages des appareils Amazon.
Configurations optionnelles
Ressources liens profonds vers in-app
Bien que Braze puisse gérer des liens profonds standard par défaut (tels que les URL de sites Internet, les URI Android, etc.), la création de liens profonds personnalisés nécessite une configuration du Manifeste supplémentaire.
Pour obtenir des conseils sur la configuration, consultez la page Création de liens profonds vers des ressources In-App.
Ajout d’icônes de notification push Braze
Pour ajouter des icônes push à votre projet, créez un plug-in Android Archive (AAR) ou une bibliothèque Android contenant les fichiers d’image des icônes. Pour connaître les étapes et les informations, reportez-vous à la documentation d’Unity : Projets de bibliothèques Android et plug-ins Android Archive.
Fonction de rappel de jeton de notification push
Pour recevoir une copie des jetons d’appareil de Braze à partir du système d’exploitation, définissez un délégué à l’aide de AppboyBinding.SetPushTokenReceivedFromSystemDelegate().
Il n’y a pas de configurations optionnelles pour ADM à l’heure actuelle.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK .NET MAUI Braze.
Mise en place des notifications push
Pour voir comment les espaces de noms changent entre Java et C#, consultez notre exemple d’application Xample sur GitHub.
Pour intégrer les notifications push pour .NET MAUI (anciennement Xamarin), vous devrez suivre les étapes pour les notifications push natives Android. Les étapes suivantes ne sont qu’un résumé. Pour une présentation complète, consultez le guide sur les notifications push natives.
Étape 1 : Mettre à jour votre projet
- Ajoutez Firebase à votre projet Android.
- Ajoutez la bibliothèque Cloud Messaging au
build.gradlede votre projet Android :1
implementation "google.firebase:firebase-messaging:+"
Étape 2 : Créez vos identifiants JSON
- Dans Google Cloud, activez l’API Firebase Cloud Messaging.
- Sélectionnez Comptes de service > votre projet > Créer un compte de service, puis saisissez un nom de compte de service, un ID et une description. Lorsque vous avez terminé, sélectionnez Créer et continuer.
- Dans le champ Rôle, recherchez et sélectionnez Firebase Cloud Messaging API Admin dans la liste des rôles.
- Dans Comptes de service, choisissez votre projet, puis sélectionnez Actions > Gérer les clés > Ajouter une clé > Créer une nouvelle clé. Choisissez JSON, puis sélectionnez Créer.
Étape 3 : Téléchargez vos informations d’identification JSON
- Dans Braze, sélectionnez Paramètres > Paramètres des applications. Sous les paramètres de notifications push de votre application Android, choisissez Firebase, puis sélectionnez Charger un fichier JSON et chargez les identifiants que vous avez générés précédemment. Lorsque vous avez terminé, sélectionnez Enregistrer.
- Activez l’enregistrement automatique des jetons FCM à partir de la console Firebase. Ouvrez votre projet, puis sélectionnez Paramètres > Paramètres du projet. Sélectionnez Cloud Messaging, puis sous API Firebase Cloud Messaging (V1), copiez le numéro dans le champ ID de l’expéditeur.
- Dans votre projet Android Studio, ajoutez ce qui suit à votre
braze.xml.
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Pour éviter que Braze ne déclenche des requêtes réseau inutiles à chaque fois que vous envoyez des notifications push silencieuses, supprimez toutes les requêtes réseau automatiques configurées dans la méthode onCreate() de votre classe Application. Pour plus d’informations, consultez Référence pour les développeurs Android : Application.
Étape 1 : Terminer la configuration initiale
Consultez les instructions d’intégration de Swift pour obtenir des informations sur la configuration de votre application avec push et le stockage de vos identifiants sur notre serveur. Reportez-vous à l’exemple d’application iOS MAUI pour plus de détails.
Étape 2 : Demander une autorisation de notification push
Notre SDK .NET MAUI prend désormais en charge la configuration automatique de la fonction “push”. Configurez l’automatisation du push et les autorisations en ajoutant le code suivant à la configuration de votre instance Braze :
1
2
configuration.Push.Automation = new BRZConfigurationPushAutomation(true);
configuration.Push.Automation.RequestAuthorizationAtLaunch = false;
Reportez-vous à l’exemple d’application iOS MAUI pour plus de détails. Pour plus de détails, consultez la documentation Xamarin relative aux notifications utilisateur améliorées sur Xamarin.iOS.
Modifier cette page sur GitHub