Skip to content

Résolution des problèmes des notifications push

Découvrez comment résoudre les problèmes liés aux notifications push pour le SDK Braze.

Résolution des problèmes

Si vous rencontrez des problèmes après avoir configuré les notifications push, tenez compte des points suivants :

  • Les notifications push Web nécessitent que votre site soit en HTTPS.
  • Tous les navigateurs ne peuvent pas recevoir de messages push. Assurez-vous que braze.isPushSupported() renvoie true dans le navigateur.
  • Certains navigateurs, comme Firefox, n’affichent pas les images dans les notifications push. Pour plus de détails sur la prise en charge par les navigateurs, consultez la documentation MDN sur les images de notification.
  • Si un utilisateur a refusé l’accès push d’un site, il ne sera plus invité à donner son autorisation à moins qu’il ne supprime le statut de refus dans les préférences de son navigateur.

Comprendre le flux de travail des notifications push de Braze

Le service Firebase Cloud Messaging (FCM) est l’infrastructure de Google pour les notifications push envoyées aux applications Android. Voici la structure simplifiée de la manière dont les notifications push sont activées pour les appareils de vos utilisateurs et la façon dont Braze peut leur envoyer des notifications push :

---
config:
  theme: mc
---
sequenceDiagram
  participant Device as User Device
  participant App as Android App
  participant BrazeSDK as Braze SDK
  participant BrazeAPI as Braze Server
  participant Firebase as Google Firebase
  Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
  App ->> Braze: App initializes Braze with the first Braze call<br>This could be automatic session handling
  BrazeSDK ->> App: Get push token from Firebase Manager
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Register Option 2<br/>Manual registration.
  App ->> BrazeSDK: App sets `Braze.registeredPushToken`
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Push permission
  BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
  BrazeSDK -> App: In-App Message is displayed
  App -> BrazeSDK: User requests permissions
  BrazeSDK -> App: Displays the Push Authorization prompt
  BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
  Note over Device, Firebase: Push Notification Is Sent
  BrazeAPI ->> Firebase: Sends push message
  Firebase ->> Device: Push message sent
  Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
  App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
  BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notification and displayed.

Étape 1 : Configurer votre clé API Google Cloud

Pour développer votre application, vous devrez fournir votre ID d’expéditeur Firebase au SDK Braze pour Android. De plus, vous devez fournir une clé API pour les applications serveur au tableau de bord de Braze. Braze utilisera cette clé API pour envoyer des messages à vos appareils. Vous devrez également vous assurer que le service FCM est activé dans la console de développement de Google.

Étape 2 : Les appareils s’inscrivent au FCM et fournissent à Braze des jetons de notification push

Dans les intégrations typiques, le SDK Braze pour Android gère l’enregistrement des appareils pour la fonctionnalité FCM. Cela se produit généralement immédiatement après l’ouverture de l’application pour la première fois. Après l’inscription, Braze reçoit un ID d’enregistrement FCM, utilisé pour envoyer des messages spécifiquement à cet appareil. Nous stockons l’ID d’enregistrement pour cet utilisateur, et celui-ci devient « push registered » (enregistré pour les notifications push) s’il ne disposait pas au préalable d’un jeton de notification push pour l’une de vos applications.

Étape 3 : Lancer une Campaign de notifications push Braze

Lorsqu’une Campaign de notifications push est lancée, Braze effectue des requêtes à FCM pour transmettre votre message. Braze utilise la clé API copiée dans le tableau de bord pour authentifier et vérifier que nous pouvons envoyer des notifications push aux jetons de notification push fournis.

Étape 4 : Supprimer les jetons non valides

Si FCM nous informe que certains des jetons de notification push auxquels nous tentions d’envoyer un message ne sont pas valides, nous supprimons ces jetons des profils utilisateur auxquels ils étaient associés. Si des utilisateurs n’ont pas d’autres jetons de notification push, ils ne s’afficheront plus en tant que « Push Registered » dans la page Segments.

Pour plus d’informations sur FCM, consultez Messagerie cloud.

Utiliser les journaux d’erreur de notification push

Braze fournit des erreurs de notification push dans le journal des activités de message. Ce journal d’erreurs fournit de nombreux avertissements qui peuvent être très utiles pour identifier les raisons pour lesquelles vos Campaigns ne fonctionnent pas comme prévu. Cliquer sur un message d’erreur vous redirige vers la documentation pertinente pour vous aider à résoudre un incident particulier.

Journal des activités de message de Braze affichant des entrées d'erreur de notification push.

Résolution des problèmes

Les notifications push ne sont pas envoyées

Il se peut que vos notifications push ne soient pas envoyées en raison des situations suivantes :

  • Vos identifiants existent dans le mauvais ID de projet Google Cloud Platform (ID d’expéditeur incorrect).
  • Vos identifiants n’ont pas la bonne portée de permission.
  • Vous avez téléchargé des identifiants erronés dans le mauvais espace de travail de Braze (mauvais ID d’expéditeur).

Pour toute autre question susceptible de vous empêcher d’envoyer une notification push, consultez le guide d’utilisation : résolution des problèmes des notifications push.

Aucun utilisateur « push registered » ne s’affiche dans le tableau de bord de Braze (avant l’envoi de messages)

Confirmez que votre application est correctement configurée pour autoriser les notifications push. Les points de défaillance fréquents à vérifier comprennent :

ID d’expéditeur incorrect

Vérifiez que l’ID correct d’expéditeur FCM figure dans le fichier braze.xml. Un ID d’expéditeur incorrect entraîne le signalement d’erreurs MismatchSenderID dans le journal des activités de message du tableau de bord.

L’enregistrement Braze ne se fait pas

Puisque l’enregistrement FCM est géré en dehors de Braze, une erreur d’enregistrement ne peut se produire que dans deux endroits :

  1. Lors de l’enregistrement avec FCM
  2. Lors de la transmission du jeton de notification push généré par FCM à Braze

Nous recommandons de définir un point d’arrêt ou une journalisation pour confirmer que le jeton de notification push généré par FCM est bien envoyé à Braze. Si un jeton n’est pas généré correctement ou pas du tout, nous recommandons de consulter la documentation FCM.

Les services Google Play ne sont pas présents

Pour que les notifications push FCM fonctionnent, les services Google Play doivent être présents sur l’appareil. Si les services Google Play ne sont pas présents sur un appareil, l’enregistrement des notifications push ne sera pas effectué.

L’appareil n’est pas connecté à Internet

Vérifiez que votre appareil dispose d’une bonne connectivité Internet et qu’il n’envoie pas le trafic réseau par l’intermédiaire d’un proxy.

Appuyer sur une notification push n’ouvre pas l’application

Vérifiez si com_braze_handle_push_deep_links_automatically est défini sur true ou false. Pour permettre à Braze d’ouvrir automatiquement l’application et les deep links lorsqu’une notification push est touchée, définissez com_braze_handle_push_deep_links_automatically sur true dans votre fichier braze.xml.

Si com_braze_handle_push_deep_links_automatically est défini sur sa valeur par défaut de false, vous devez utiliser un rappel de notification push Braze pour écouter et gérer les intentions de notification push reçues et ouvertes.

Rebonds de notifications push

Si une notification push n’est pas transmise, consultez la console de développement pour vous assurer qu’elle n’a pas été rejetée. Vous trouverez ci-dessous une description des erreurs fréquentes susceptibles d’être consignées dans la console de développement :

Erreur : MismatchSenderID

MismatchSenderID indique une défaillance de l’authentification. Vérifiez que votre ID d’expéditeur Firebase et la clé API FCM sont corrects.

Erreur : InvalidRegistration

InvalidRegistration peut être causé par un jeton de notification push mal formé.

  1. Veillez à transmettre un jeton de notification push valide à Braze depuis Firebase Cloud Messaging.

Erreur : NotRegistered

  1. NotRegistered peut également se produire lorsque plusieurs enregistrements se produisent et qu’un deuxième enregistrement invalide le premier jeton.

Les notifications push sont envoyées mais ne s’affichent pas sur les appareils des utilisateurs

Il y a plusieurs raisons pour lesquelles cela pourrait se produire :

L’application a été forcée à s’arrêter

Si vous forcez votre application à quitter via les paramètres système, vos notifications push ne seront pas envoyées. Relancer l’application permettra à votre appareil de recevoir à nouveau des notifications push.

BrazeFirebaseMessagingService n’est pas enregistré

BrazeFirebaseMessagingService doit être correctement enregistré dans AndroidManifest.xml pour que les notifications push s’affichent :

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>

Le pare-feu bloque les notifications push

Si vous testez les notifications push par Wi-Fi, votre pare-feu peut bloquer les ports nécessaires pour que FCM reçoive les messages. Vérifiez que les ports 5228, 5229 et 5230 sont ouverts. En outre, puisque FCM ne spécifie pas ses adresses IP, vous devez également autoriser votre pare-feu à accepter les connexions sortantes vers toutes les adresses IP contenues dans les blocs IP répertoriés dans l’ASN de Google 15169.

La fabrique de notifications personnalisée renvoie null

Si vous avez mis en place une fabrique de notifications personnalisée, assurez-vous qu’elle ne renvoie pas null. Cela empêcherait l’affichage des notifications.

Les utilisateurs « push registered » ne sont plus activés après l’envoi de messages

Il y a plusieurs raisons pour lesquelles cela pourrait se produire :

L’application a été désinstallée

Les utilisateurs ont désinstallé l’application. Cela invalidera leur jeton de notification push FCM.

Clé du serveur Firebase Cloud Messaging non valide

La clé du serveur Firebase Cloud Messaging fournie dans le tableau de bord de Braze n’est pas valide. L’ID d’expéditeur fourni doit correspondre à celui référencé dans le fichier braze.xml de votre application. La clé du serveur et l’ID d’expéditeur sont disponibles ici dans votre console Firebase :

La plateforme Firebase sous « Paramètres », puis « Messagerie cloud » affiche votre ID de serveur et votre clé de serveur.

Les clics de notification push ne sont pas enregistrés

Si les clics push ne sont pas enregistrés, il est possible que les données de clics push n’aient pas encore été transférées vers nos serveurs. Le SDK Braze pour Android peut limiter la fréquence des transmissions.

Si vous avez mis en place un gestionnaire de notifications push personnalisé, assurez-vous de préserver correctement l’analyse native des notifications push.

L’enregistrement des clics push est une opération réseau et est soumis aux limitations réseau. Ainsi, bien que le SDK Braze pour Android tente de gérer les défaillances réseau et réessaie les requêtes échouées, une certaine perte d’événements est à prévoir.

Les deep links peuvent être testés avec ADB. Nous vous recommandons de tester votre deep link avec la commande suivante :

adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME

Si le deep link ne fonctionne pas, il peut être mal configuré. Un deep link mal configuré ne fonctionnera pas lorsqu’il sera envoyé via une notification push de Braze.

Vérifiez la logique de gestion personnalisée

Si le deep link fonctionne correctement avec ADB mais ne fonctionne pas à partir d’une notification push Braze, vérifiez si une gestion personnalisée de l’ouverture des notifications push a été mise en œuvre. Si oui, vérifiez que le code de gestion personnalisé traite correctement le deep link entrant.

Désactiver le comportement de la pile arrière

Si le deep link fonctionne correctement avec ADB mais ne fonctionne pas à partir d’une notification push Braze, essayez de désactiver la pile arrière. Pour ce faire, mettez à jour votre fichier braze.xml pour y inclure :

1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>

Comprendre le flux de travail Braze/APNs

Le service Apple Push Notification (APNs) est l’infrastructure permettant d’envoyer des notifications push aux applications fonctionnant sur les plateformes Apple. Voici la structure simplifiée du fonctionnement de l’activation des notifications push pour les appareils de vos utilisateurs et de la manière dont Braze peut leur envoyer des notifications push :

  1. Vous configurez le certificat de notification push et le profil de provisionnement
  2. Les appareils s’enregistrent auprès d’APNs et fournissent à Braze des jetons de notification push
  3. Vous lancez une Campaign de notification push Braze
  4. Braze supprime les jetons non valides

Étape 1 : Configuration du certificat push et du profil de provisionnement

Pour développer votre application, créez un certificat SSL pour activer les notifications push. Ce certificat est inclus dans le profil de provisionnement avec lequel votre application est compilée et doit également être téléchargé sur le tableau de bord de Braze. Le certificat permet à Braze d’indiquer aux APNs qu’il est autorisé à envoyer des notifications push en votre nom.

Il existe deux types de profils de provisionnement et de certificats : développement et distribution. Nous recommandons d’utiliser uniquement les profils et certificats de distribution pour éviter toute confusion. Si vous choisissez d’utiliser des profils et certificats différents pour le développement et la distribution, assurez-vous que le certificat téléchargé sur le tableau de bord correspond au profil de provisionnement que vous utilisez actuellement.

Étape 2 : Les appareils s’enregistrent auprès des APNs et fournissent à Braze les jetons de notification push

Lorsque les utilisateurs ouvrent votre application, ils sont invités à accepter les notifications push. S’ils acceptent cette invite, les APNs génèrent un jeton de notification push pour cet appareil particulier. Le SDK Swift envoie immédiatement et de manière asynchrone le jeton de notification push pour les applications utilisant la politique de vidage automatique par défaut. Une fois qu’un jeton de notification push est associé à un utilisateur, celui-ci apparaît comme « Push Registered » dans le tableau de bord sur son profil utilisateur sous l’onglet Engagement et est éligible pour recevoir des notifications push depuis les Campaigns Braze.

Considérations relatives à la génération des jetons de notification push

  • Si les utilisateurs installent votre application sur un autre appareil, Braze crée et capture un autre jeton de la même manière.
  • Si les utilisateurs réinstallent votre application, le SDK génère un nouveau jeton et le transmet à Braze. Cependant, les APNs et Braze peuvent toujours considérer le jeton d’origine comme valide.
  • Si les utilisateurs désinstallent votre application, Braze ne reçoit pas immédiatement de notification, et le jeton apparaît toujours comme valide jusqu’à ce que les APNs le retirent.
  • À un moment donné, les APNs retirent les anciens jetons. Braze ne contrôle pas ce processus et n’a pas de visibilité sur celui-ci.

Étape 3 : Lancement d’une Campaign push Braze

Lorsqu’une Campaign push est lancée, Braze envoie des requêtes aux APNs pour distribuer votre message. Plus précisément, les requêtes sont transmises aux APNs pour chaque jeton de notification push valide actuel, sauf si l’option Envoyer à l’appareil le plus récent de l’utilisateur est sélectionnée. Après que Braze reçoit une réponse positive des APNs, Braze enregistre une distribution réussie sur le profil utilisateur, bien que l’utilisateur puisse ne pas avoir reçu le message réel pour des raisons telles que :

  • Son appareil est éteint.
  • Son appareil n’est pas connecté à Internet (Wi-Fi ou cellulaire).
  • Il a récemment désinstallé l’application.

Braze utilise le certificat SSL push téléchargé dans le tableau de bord pour s’authentifier et vérifier qu’il est autorisé à envoyer des notifications push aux jetons de notification push fournis. Si un appareil est en ligne, la notification devrait être reçue peu après l’envoi de la Campaign. Notez que Braze définit la date d’expiration APNs par défaut des notifications à 30 jours.

Étape 4 : Suppression des jetons invalides

Si les APNs nous informent que l’un des jetons de notification push auxquels nous tentions d’envoyer un message est invalide, nous supprimons ces jetons des profils utilisateur auxquels ils étaient associés.

Utilisation des journaux d’erreurs push

Le Journal d’activité des messages vous permet de consulter tous les messages (en particulier les messages d’erreur) associés à vos Campaigns et envois, y compris les erreurs de notification push. Ce journal d’erreurs fournit une variété d’avertissements qui peuvent être très utiles pour identifier pourquoi vos Campaigns ne fonctionnent pas comme prévu. Sélectionner un message d’erreur vous redirige vers la documentation pertinente pour vous aider à résoudre un incident particulier.

Journaux d'erreurs push affichant l'heure de l'erreur, le nom de l'application, le canal, le type d'erreur et le message d'erreur.

Les erreurs courantes que vous pourriez voir ici incluent des notifications spécifiques à l’utilisateur, telles que « Received Unregistered Sending to Push Token ».

De plus, Braze fournit également un journal des modifications push sur le profil utilisateur sous l’onglet Engagement. Ce journal donne un aperçu du comportement d’inscription aux notifications push, comme l’invalidation de jetons, les erreurs d’inscription push, les jetons transférés à de nouveaux utilisateurs, etc.

Onglet Engagement du profil utilisateur Braze affichant le journal des modifications de l'inscription push.

Erreurs du journal d’activité des messages

Received unregistered sending to push token

  • Assurez-vous que le jeton de notification push envoyé à Braze depuis la méthode AppDelegate.braze?.notifications.register(deviceToken:) est valide. Vous pouvez consulter le Journal d’activité des messages pour voir le jeton de notification push. Il devrait ressembler à quelque chose comme 6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, une longue chaîne de caractères contenant un mélange de lettres et de chiffres. Si votre jeton de notification push semble différent, vérifiez votre code pour l’envoi des jetons de notification push à Braze.
  • Assurez-vous que votre profil de provisionnement push correspond à l’environnement que vous testez. Les certificats universels peuvent être configurés dans le tableau de bord de Braze pour envoyer vers l’environnement APN de développement ou de production. Utiliser un certificat de développement pour une application de production ou un certificat de production pour une application de développement ne fonctionnera pas.
  • Vérifiez que le jeton de notification push que vous avez téléchargé vers Braze correspond au profil de provisionnement que vous avez utilisé pour compiler l’application à partir de laquelle vous avez envoyé le jeton de notification push.

Device token not for topic

APN renvoie DeviceTokenNotForTopic (statut HTTP 400) lorsque le jeton de notification push ne correspond pas au sujet (identifiant de bundle) configuré pour vos identifiants. Braze peut afficher cela dans le Journal d’activité des messages ou les journaux de distribution push sous la forme DeviceTokenNotForTopic.

Pour résoudre l’incohérence :

  1. Confirmez que l’identifiant de bundle de l’application correspond à l’App Bundle ID dans Braze (Paramètres > Paramètres de l’application > Paramètres de notification push).
  2. Vérifiez que le profil de provisionnement utilisé pour compiler l’application inclut la capacité push pour cet identifiant de bundle.
  3. Confirmez que les identifiants push téléchargés vers Braze correspondent à l’environnement de l’application (développement versus production).
  4. Pour les clés .p8, vérifiez que le Team ID et le Key ID dans Braze correspondent à votre compte Apple Developer.
  5. Téléchargez à nouveau une clé .p8 ou un certificat .p12 valide si les identifiants ont été renouvelés ou révoqués.

Préférez les clés d’authentification .p8 lorsque c’est possible. Pour les types d’identifiants et les indicateurs de statut du tableau de bord, consultez Migrer vers une clé d’authentification .p8.

BadDeviceToken sending to push token

Le BadDeviceToken est un code d’erreur APN et ne provient pas de Braze. Plusieurs raisons peuvent expliquer cette réponse, notamment les suivantes :

  • L’application a reçu un jeton push qui n’était pas valide pour les identifiants téléchargés sur le tableau de bord.
  • Les notifications push ont été désactivées pour cet espace de travail.
  • L’utilisateur a refusé les notifications push.
  • L’application a été désinstallée.
  • Apple a actualisé le jeton push, ce qui a invalidé l’ancien jeton.
  • L’application a été compilée pour un environnement de production, mais les identifiants push téléchargés sur Braze sont configurés pour un environnement de développement (ou inversement).

Problèmes d’enregistrement des notifications push

Aucune invite d’enregistrement aux notifications push

Si l’application ne vous invite pas à vous enregistrer pour les notifications push, il y a probablement un problème avec votre intégration de l’enregistrement push. Assurez-vous d’avoir suivi notre documentation et d’avoir correctement intégré notre enregistrement push. Vous pouvez également définir des points d’arrêt dans votre code pour vous assurer que le code d’enregistrement push s’exécute.

Aucun utilisateur « enregistré pour les notifications push » n’apparaît dans le tableau de bord (avant l’envoi de messages)

Assurez-vous que votre application est correctement configurée pour autoriser les notifications push. Les points de défaillance courants à vérifier sont les suivants :

  • Vérifiez que votre application vous invite à autoriser les notifications push. En général, cette invite apparaît lors de votre première ouverture de l’application, mais elle peut être programmée pour apparaître ailleurs. Si elle n’apparaît pas là où elle devrait, le problème vient probablement de la configuration de base des capacités push de votre application.
    • Vérifiez que les étapes de l’intégration push ont été effectuées avec succès.
    • Vérifiez que le profil de provisionnement avec lequel votre application a été compilée inclut les autorisations pour les notifications push. Assurez-vous de télécharger tous les profils de provisionnement disponibles depuis votre compte développeur Apple. Pour confirmer cela, effectuez les étapes suivantes :
      1. Dans Xcode, accédez à Preferences > Accounts (ou utilisez le raccourci clavier Command+,).
      2. Sélectionnez l’identifiant Apple que vous utilisez pour votre compte développeur et cliquez sur View Details.
      3. Sur la page suivante, cliquez sur Refresh et confirmez que vous téléchargez bien tous les profils de provisionnement disponibles.
  • Vérifiez que vous avez correctement activé la capacité push dans votre application.
  • Vérifiez que votre profil de provisionnement push correspond à l’environnement dans lequel vous effectuez vos tests. Les certificats universels peuvent être configurés dans le tableau de bord de Braze pour envoyer vers l’environnement APN de développement ou de production. L’utilisation d’un certificat de développement pour une application en production ou d’un certificat de production pour une application de développement ne fonctionnera pas.
  • Vérifiez que vous appelez bien notre méthode registerPushToken en définissant un point d’arrêt dans votre code.
  • Assurez-vous de tester sur un appareil (les notifications push ne fonctionnent pas sur un simulateur) et de disposer d’une bonne connectivité réseau.

Notifications push envoyées mais non affichées sur les appareils des utilisateurs

Les utilisateurs « enregistrés pour les notifications push » ne sont plus activés après l’envoi de messages

Cela indique probablement que l’utilisateur avait un jeton de notification push invalide. Cela peut se produire pour plusieurs raisons :

Incompatibilité entre le certificat du tableau de bord et celui de l’application

Si le certificat push que vous avez téléchargé dans le tableau de bord n’est pas le même que celui du profil de provisionnement avec lequel votre application a été créée, APNs rejettera le jeton. Vérifiez que vous avez téléchargé le bon certificat et effectué une nouvelle session dans l’application avant de tenter une autre notification de test.

L’application a été désinstallée

Si un utilisateur a désinstallé votre application, son jeton de notification push sera invalide et supprimé lors du prochain envoi.

Régénération de votre profil de provisionnement

En dernier recours, repartir de zéro et créer un tout nouveau profil de provisionnement peut résoudre les erreurs de configuration liées au travail simultané avec plusieurs environnements, profils et applications. La configuration des notifications push comporte de nombreux « éléments mobiles », il est donc parfois préférable de recommencer depuis le début. Cela vous aidera également à isoler le problème si vous devez poursuivre la résolution des problèmes.

Messages non distribués aux utilisateurs « enregistrés pour les notifications push »

L’application est au premier plan

Sur les versions d’iOS qui n’intègrent pas les notifications push via le framework UserNotifications, si l’application est au premier plan lorsque le message push est reçu, il ne sera pas affiché. Vous devez mettre l’application en arrière-plan sur vos appareils de test avant d’envoyer des messages de test.

Notification de test planifiée incorrectement

Vérifiez la planification que vous avez définie pour votre message de test. Si elle est configurée pour une distribution selon le fuseau horaire local ou le timing intelligent, il est possible que vous n’ayez tout simplement pas encore reçu le message (ou que l’application était au premier plan lors de sa réception).

L’utilisateur n’est pas « enregistré pour les notifications push » pour l’application testée

Vérifiez le profil utilisateur de la personne à laquelle vous essayez d’envoyer un message de test. Sous l’onglet Engagement, une liste des « applications pouvant recevoir des notifications push » devrait apparaître. Vérifiez que l’application à laquelle vous essayez d’envoyer des messages de test figure dans cette liste. Les utilisateurs apparaîtront comme « enregistrés pour les notifications push » s’ils disposent d’un jeton de notification push pour n’importe quelle application de votre espace de travail, ce qui pourrait constituer un faux positif.

Ce qui suit indiquerait un problème d’enregistrement aux notifications push ou que le jeton de l’utilisateur a été renvoyé à Braze comme invalide par APNs après un envoi :

Un profil utilisateur affichant les paramètres de contact d'un utilisateur. Sous la section Push, « No Apps » est affiché.

Les clics push ne sont pas enregistrés

  • Assurez-vous d’avoir suivi les étapes d’intégration push.
  • Braze ne gère pas les notifications push reçues silencieusement au premier plan (comportement push au premier plan par défaut avant le framework UserNotifications). Cela signifie que les liens ne seront pas ouverts et que les clics push ne seront pas enregistrés. Si votre application n’a pas encore intégré le framework UserNotifications, Braze ne gérera pas les notifications push lorsque l’état de l’application est UIApplicationStateActive. Assurez-vous que votre application ne retarde pas les appels aux méthodes de gestion push ; sinon, le SDK Swift pourrait traiter les notifications push comme des événements push silencieux au premier plan et ne pas les gérer.

Pour une résolution complète des problèmes sur tous les canaux — y compris les liens universels, les schémas personnalisés, les e-mails et les fournisseurs tiers comme Branch — consultez Résolution des problèmes de deep linking.

Les liens dans les notifications push doivent être conformes à l’ATS pour pouvoir s’ouvrir dans les vues Web. Assurez-vous que vos liens Web utilisent HTTPS. Pour plus d’informations, consultez Conformité ATS.

La majeure partie du code qui gère les deep links gère également les ouvertures de notifications push. Commencez par vérifier que les ouvertures de notifications push sont bien enregistrées. Si ce n’est pas le cas, corrigez ce problème (car la correction résout souvent aussi la gestion des liens).

Si les ouvertures sont bien enregistrées, vérifiez s’il s’agit d’un problème lié au deep link en général ou à la gestion du clic sur la notification push avec deep link. Pour ce faire, testez si un deep link fonctionne à partir d’un clic sur un message in-app.

Comprendre le flux de travail des notifications push de Braze

Le service Firebase Cloud Messaging (FCM) est l’infrastructure de Google pour les notifications push envoyées aux applications Android. Voici la structure simplifiée de la manière dont les notifications push sont activées pour les appareils de vos utilisateurs et la façon dont Braze peut leur envoyer des notifications push :

---
config:
  theme: mc
---
sequenceDiagram
  participant Device as User Device
  participant App as Android App
  participant BrazeSDK as Braze SDK
  participant BrazeAPI as Braze Server
  participant Firebase as Google Firebase
  Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
  App ->> Braze: App initializes Braze with the first Braze call<br>This could be automatic session handling
  BrazeSDK ->> App: Get push token from Firebase Manager
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Register Option 2<br/>Manual registration.
  App ->> BrazeSDK: App sets `Braze.registeredPushToken`
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Push permission
  BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
  BrazeSDK -> App: In-App Message is displayed
  App -> BrazeSDK: User requests permissions
  BrazeSDK -> App: Displays the Push Authorization prompt
  BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
  Note over Device, Firebase: Push Notification Is Sent
  BrazeAPI ->> Firebase: Sends push message
  Firebase ->> Device: Push message sent
  Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
  App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
  BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notification and displayed.

Étape 1 : Configurer votre clé API Google Cloud

Pour développer votre application, vous devrez fournir votre ID d’expéditeur Firebase au SDK Braze pour Android. De plus, vous devez fournir une clé API pour les applications serveur au tableau de bord de Braze. Braze utilisera cette clé API pour envoyer des messages à vos appareils. Vous devrez également vous assurer que le service FCM est activé dans la console de développement de Google.

Étape 2 : Les appareils s’inscrivent au FCM et fournissent à Braze des jetons de notification push

Dans les intégrations typiques, le SDK Braze pour Android gère l’enregistrement des appareils pour la fonctionnalité FCM. Cela se produit généralement immédiatement après l’ouverture de l’application pour la première fois. Après l’inscription, Braze reçoit un ID d’enregistrement FCM, utilisé pour envoyer des messages spécifiquement à cet appareil. Nous stockons l’ID d’enregistrement pour cet utilisateur, et celui-ci devient « push registered » (enregistré pour les notifications push) s’il ne disposait pas au préalable d’un jeton de notification push pour l’une de vos applications.

Étape 3 : Lancer une Campaign de notifications push Braze

Lorsqu’une Campaign de notifications push est lancée, Braze effectue des requêtes à FCM pour transmettre votre message. Braze utilise la clé API copiée dans le tableau de bord pour authentifier et vérifier que nous pouvons envoyer des notifications push aux jetons de notification push fournis.

Étape 4 : Supprimer les jetons non valides

Si FCM nous informe que certains des jetons de notification push auxquels nous tentions d’envoyer un message ne sont pas valides, nous supprimons ces jetons des profils utilisateur auxquels ils étaient associés. Si des utilisateurs n’ont pas d’autres jetons de notification push, ils ne s’afficheront plus en tant que « Push Registered » dans la page Segments.

Pour plus d’informations sur FCM, consultez Messagerie cloud.

Utiliser les journaux d’erreur de notification push

Braze fournit des erreurs de notification push dans le journal des activités de message. Ce journal d’erreurs fournit de nombreux avertissements qui peuvent être très utiles pour identifier les raisons pour lesquelles vos Campaigns ne fonctionnent pas comme prévu. Cliquer sur un message d’erreur vous redirige vers la documentation pertinente pour vous aider à résoudre un incident particulier.

Journal des activités de message de Braze affichant des entrées d'erreur de notification push.

Résolution des problèmes

Les notifications push ne sont pas envoyées

Il se peut que vos notifications push ne soient pas envoyées en raison des situations suivantes :

  • Vos identifiants existent dans le mauvais ID de projet Google Cloud Platform (ID d’expéditeur incorrect).
  • Vos identifiants n’ont pas la bonne portée de permission.
  • Vous avez téléchargé des identifiants erronés dans le mauvais espace de travail de Braze (mauvais ID d’expéditeur).

Pour toute autre question susceptible de vous empêcher d’envoyer une notification push, consultez le guide d’utilisation : résolution des problèmes des notifications push.

Aucun utilisateur « push registered » ne s’affiche dans le tableau de bord de Braze (avant l’envoi de messages)

Confirmez que votre application est correctement configurée pour autoriser les notifications push. Les points de défaillance fréquents à vérifier comprennent :

ID d’expéditeur incorrect

Vérifiez que l’ID correct d’expéditeur FCM figure dans le fichier braze.xml. Un ID d’expéditeur incorrect entraîne le signalement d’erreurs MismatchSenderID dans le journal des activités de message du tableau de bord.

L’enregistrement Braze ne se fait pas

Puisque l’enregistrement FCM est géré en dehors de Braze, une erreur d’enregistrement ne peut se produire que dans deux endroits :

  1. Lors de l’enregistrement avec FCM
  2. Lors de la transmission du jeton de notification push généré par FCM à Braze

Nous recommandons de définir un point d’arrêt ou une journalisation pour confirmer que le jeton de notification push généré par FCM est bien envoyé à Braze. Si un jeton n’est pas généré correctement ou pas du tout, nous recommandons de consulter la documentation FCM.

Les services Google Play ne sont pas présents

Pour que les notifications push FCM fonctionnent, les services Google Play doivent être présents sur l’appareil. Si les services Google Play ne sont pas présents sur un appareil, l’enregistrement des notifications push ne sera pas effectué.

L’appareil n’est pas connecté à Internet

Vérifiez que votre appareil dispose d’une bonne connectivité Internet et qu’il n’envoie pas le trafic réseau par l’intermédiaire d’un proxy.

Appuyer sur une notification push n’ouvre pas l’application

Vérifiez si com_braze_handle_push_deep_links_automatically est défini sur true ou false. Pour permettre à Braze d’ouvrir automatiquement l’application et les deep links lorsqu’une notification push est touchée, définissez com_braze_handle_push_deep_links_automatically sur true dans votre fichier braze.xml.

Si com_braze_handle_push_deep_links_automatically est défini sur sa valeur par défaut de false, vous devez utiliser un rappel de notification push Braze pour écouter et gérer les intentions de notification push reçues et ouvertes.

Rebonds de notifications push

Si une notification push n’est pas transmise, consultez la console de développement pour vous assurer qu’elle n’a pas été rejetée. Vous trouverez ci-dessous une description des erreurs fréquentes susceptibles d’être consignées dans la console de développement :

Erreur : MismatchSenderID

MismatchSenderID indique une défaillance de l’authentification. Vérifiez que votre ID d’expéditeur Firebase et la clé API FCM sont corrects.

Erreur : InvalidRegistration

InvalidRegistration peut être causé par un jeton de notification push mal formé.

  1. Veillez à transmettre un jeton de notification push valide à Braze depuis Firebase Cloud Messaging.

Erreur : NotRegistered

  1. NotRegistered peut également se produire lorsque plusieurs enregistrements se produisent et qu’un deuxième enregistrement invalide le premier jeton.

Les notifications push sont envoyées mais ne s’affichent pas sur les appareils des utilisateurs

Il y a plusieurs raisons pour lesquelles cela pourrait se produire :

L’application a été forcée à s’arrêter

Si vous forcez votre application à quitter via les paramètres système, vos notifications push ne seront pas envoyées. Relancer l’application permettra à votre appareil de recevoir à nouveau des notifications push.

BrazeFirebaseMessagingService n’est pas enregistré

BrazeFirebaseMessagingService doit être correctement enregistré dans AndroidManifest.xml pour que les notifications push s’affichent :

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>

Le pare-feu bloque les notifications push

Si vous testez les notifications push par Wi-Fi, votre pare-feu peut bloquer les ports nécessaires pour que FCM reçoive les messages. Vérifiez que les ports 5228, 5229 et 5230 sont ouverts. En outre, puisque FCM ne spécifie pas ses adresses IP, vous devez également autoriser votre pare-feu à accepter les connexions sortantes vers toutes les adresses IP contenues dans les blocs IP répertoriés dans l’ASN de Google 15169.

La fabrique de notifications personnalisée renvoie null

Si vous avez mis en place une fabrique de notifications personnalisée, assurez-vous qu’elle ne renvoie pas null. Cela empêcherait l’affichage des notifications.

Les utilisateurs « push registered » ne sont plus activés après l’envoi de messages

Il y a plusieurs raisons pour lesquelles cela pourrait se produire :

L’application a été désinstallée

Les utilisateurs ont désinstallé l’application. Cela invalidera leur jeton de notification push FCM.

Clé du serveur Firebase Cloud Messaging non valide

La clé du serveur Firebase Cloud Messaging fournie dans le tableau de bord de Braze n’est pas valide. L’ID d’expéditeur fourni doit correspondre à celui référencé dans le fichier braze.xml de votre application. La clé du serveur et l’ID d’expéditeur sont disponibles ici dans votre console Firebase :

La plateforme Firebase sous « Paramètres », puis « Messagerie cloud » affiche votre ID de serveur et votre clé de serveur.

Les clics de notification push ne sont pas enregistrés

Si les clics push ne sont pas enregistrés, il est possible que les données de clics push n’aient pas encore été transférées vers nos serveurs. Le SDK Braze pour Android peut limiter la fréquence des transmissions.

Si vous avez mis en place un gestionnaire de notifications push personnalisé, assurez-vous de préserver correctement l’analyse native des notifications push.

L’enregistrement des clics push est une opération réseau et est soumis aux limitations réseau. Ainsi, bien que le SDK Braze pour Android tente de gérer les défaillances réseau et réessaie les requêtes échouées, une certaine perte d’événements est à prévoir.

Les deep links peuvent être testés avec ADB. Nous vous recommandons de tester votre deep link avec la commande suivante :

adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME

Si le deep link ne fonctionne pas, il peut être mal configuré. Un deep link mal configuré ne fonctionnera pas lorsqu’il sera envoyé via une notification push de Braze.

Vérifiez la logique de gestion personnalisée

Si le deep link fonctionne correctement avec ADB mais ne fonctionne pas à partir d’une notification push Braze, vérifiez si une gestion personnalisée de l’ouverture des notifications push a été mise en œuvre. Si oui, vérifiez que le code de gestion personnalisé traite correctement le deep link entrant.

Désactiver le comportement de la pile arrière

Si le deep link fonctionne correctement avec ADB mais ne fonctionne pas à partir d’une notification push Braze, essayez de désactiver la pile arrière. Pour ce faire, mettez à jour votre fichier braze.xml pour y inclure :

1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>

Résolution des problèmes

La notification push n’apparaît pas après la fermeture de l’application depuis le gestionnaire de tâches

Si vous constatez que les notifications push n’apparaissent plus après la fermeture de l’application depuis le gestionnaire de tâches, votre application est probablement en mode Debug. .NET MAUI ajoute une structure en mode Debug qui empêche les applications de recevoir des notifications push après l’arrêt de leur processus. Si vous exécutez votre application en mode Release, vous devriez voir les notifications push même après la fermeture de l’application depuis le gestionnaire de tâches.

La fabrique de notifications personnalisée n’est pas correctement définie

Les fabriques de notifications personnalisées (et tous les délégués) doivent étendre Java.Lang.Object pour fonctionner correctement entre C# et Java. Consultez Xamarin sur l’implémentation des interfaces Java pour plus d’informations.

Sauts de ligne dans les notifications push

Lors de la rédaction de notifications push avec des étiquettes Liquid, les sauts de ligne adjacents aux étiquettes Liquid sont automatiquement supprimés avant l’envoi du message. Dans le compositeur de notifications push, ces sauts de ligne sont réajoutés afin que votre message reste lisible pendant la modification. Si vous remarquez des sauts de ligne autour des étiquettes Liquid lors de l’enregistrement de votre message, il s’agit d’un comportement attendu.

New Stuff!