
AppboyKit (également connu sous le nom de SDK Objective-C) n’est plus pris en charge et a été remplacé par Swift SDK. Il ne recevra plus de nouvelles fonctionnalités, de corrections de bugs, de mises à jour de sécurité ou d’assistance technique - cependant, la messagerie et l’analyse continueront à fonctionner normalement. Pour en savoir plus, consultez Présentation du nouveau SDK Braze Swift.
Résolution des problèmes
Comprendre le flux de travail Braze/APNs
Le service de notification push Apple (APNs) est l’infrastructure d’Apple pour l’envoi de notifications push aux applications iOS et OS X. Voici la structure simplifiée du fonctionnement de l’activation des notifications push pour les appareils de vos utilisateurs et de la façon dont Braze peut leur envoyer des notifications push :
- Vous configurez le certificat de notification push et le profil de provisionnement
- Les appareils s’enregistrent auprès d’APNs et fournissent à Braze des jetons de notification push
- Vous lancez une Campaign de notification push Braze
- Braze supprime les jetons non valides
Étape 1 : Configurer le certificat push et le profil de provisionnement
Lorsque vous développez 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 construite et doit également être téléversé dans le tableau de bord de Braze. Le certificat permet à Braze d’indiquer aux APNs que nous sommes autorisés à 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éversé dans le tableau de bord correspond au profil de provisionnement que vous utilisez actuellement.

Ne modifiez pas l’environnement du certificat push (développement versus production). Changer le certificat push vers le mauvais environnement peut entraîner la suppression accidentelle du jeton push de vos utilisateurs, les rendant injoignables par notification push.
Étape 2 : Les appareils s’enregistrent auprès des APNs et fournissent à Braze les jetons push
Lorsque les utilisateurs ouvrent votre application, ils seront invités à accepter les notifications push. S’ils acceptent cette invite, les APNs génèreront un jeton push pour cet appareil particulier. Le SDK iOS enverra immédiatement et de manière asynchrone le jeton push pour les applications utilisant la politique de vidage automatique par défaut. Une fois qu’un jeton push est associé à un utilisateur, celui-ci apparaîtra comme « Push enregistré » dans le tableau de bord sur son profil utilisateur sous l’onglet Engagement et sera éligible pour recevoir des notifications push provenant de Campaigns Braze.

À partir de Xcode 14, vous pouvez tester les notifications push distantes sur un simulateur iOS.
Étape 3 : Lancer une Campaign push Braze
Lorsqu’une Campaign push est lancée, Braze envoie des requêtes aux APNs pour distribuer votre message. Braze utilisera le certificat SSL push téléversé dans le tableau de bord pour s’authentifier et vérifier que nous sommes autorisés à envoyer des notifications push aux jetons 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 : Supprimer les jetons invalides
Si les APNs nous informent que certains des jetons push auxquels nous tentions d’envoyer un message sont invalides, nous supprimons ces jetons des profils utilisateur auxquels ils étaient associés.
Utilisation des journaux d’erreurs push
Braze fournit un journal des erreurs de notification push dans le Journal d’activité des messages. Ce journal d’erreurs contient une variété d’avertissements qui peuvent être très utiles pour identifier pourquoi vos campagnes 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.

Parmi les erreurs courantes que vous pourriez voir ici figurent des notifications spécifiques aux utilisateurs, 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 fournit des informations sur le comportement d’inscription aux notifications push, telles que l’invalidation des jetons, les erreurs d’inscription push, les jetons transférés à de nouveaux utilisateurs, etc.

Problèmes d’inscription aux notifications push
Pour ajouter une vérification à la logique d’inscription aux notifications push de votre application, implémentez les tests unitaires push.
Aucune invite d’inscription aux notifications push
Si l’application ne vous invite pas à vous inscrire aux notifications push, il y a probablement un problème avec votre intégration d’inscription aux notifications push. Assurez-vous d’avoir suivi notre documentation et d’avoir correctement intégré notre inscription aux notifications push. Vous pouvez également placer des points d’arrêt dans votre code pour vous assurer que le code d’inscription aux notifications push s’exécute.
Aucun utilisateur « inscrit aux notifications push » n’apparaît dans le tableau de bord
- Vérifiez que votre application vous invite à autoriser les notifications push. En général, cette invite apparaît lors de la 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 est probablement lié à la configuration de base des fonctionnalités push de votre application.
- Vérifiez que les étapes de l’intégration push ont été complétées avec succès.
- Vérifiez que le profil de provisioning avec lequel votre application a été compilée inclut les permissions pour les notifications push. Assurez-vous de télécharger tous les profils de provisioning disponibles depuis votre compte développeur Apple. Pour le confirmer, effectuez les étapes suivantes :
- Dans Xcode, accédez à Preferences > Accounts (ou utilisez le raccourci clavier Command+,).
- Sélectionnez l’identifiant Apple que vous utilisez pour votre compte développeur et cliquez sur View Details.
- Sur la page suivante, cliquez sur Refresh et confirmez que vous téléchargez bien tous les profils de provisioning disponibles.
- Vérifiez que vous avez correctement activé la fonctionnalité push dans votre application.
- Vérifiez que votre profil de provisioning push correspond à l’environnement dans lequel 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 vous appelez notre méthode
registerPushTokenen plaçant un point d’arrêt dans votre code. - Vérifiez que vous êtes sur un appareil (les notifications push ne fonctionnent pas sur un simulateur) et que vous disposez d’une bonne connectivité réseau.
Les appareils ne reçoivent pas de notifications push
Les utilisateurs ne sont plus « push registered » après l’envoi d’une notification push
Cela indique probablement que l’utilisateur avait un jeton 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, les APN rejetteront le jeton. Vérifiez que vous avez téléchargé le bon certificat et effectuez une autre session dans l’application avant de tenter une nouvelle notification de test.
Désinstallations
Si un utilisateur a désinstallé votre application, son jeton 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 qui surviennent lorsqu’on travaille avec plusieurs environnements, profils et applications en même temps. Il y a de nombreux « éléments en mouvement » dans la configuration des notifications push pour les applications iOS, il est donc parfois préférable de tout reprendre depuis le début. Cela vous aidera également à isoler le problème si vous devez continuer la résolution des problèmes.
Les utilisateurs sont toujours « push registered » après l’envoi d’une notification 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. S’il est configuré pour une distribution selon le fuseau horaire local ou le timing intelligent, il se peut que vous n’ayez tout simplement pas encore reçu le message (ou que l’application ait été au premier plan lors de sa réception).
L’utilisateur n’est pas « push registered » pour l’application testée
Vérifiez le profil utilisateur de la personne à qui vous essayez d’envoyer un message de test. Sous l’onglet Engagement, une liste d’« 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 « Push Registered » s’ils disposent d’un jeton push pour n’importe quelle application dans votre espace de travail, ce qui pourrait constituer un faux positif.
Les éléments suivants indiqueraient un problème d’inscription push ou que le jeton de l’utilisateur a été renvoyé à Braze comme invalide par les APN après un envoi :

Les notifications push ne s’envoient pas
Pour résoudre les problèmes liés aux notifications push qui ne s’envoient pas, consultez Résolution des problèmes des notifications push.
Journal d’activité des messages – erreurs
Réception non enregistrée lors de l’envoi au jeton push
- Assurez-vous que le jeton push envoyé à Braze depuis la méthode
[[Appboy sharedInstance] registerPushToken:]est valide. Vous pouvez consulter le journal d’activité des messages pour voir le jeton push. Il devrait ressembler à quelque chose comme6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, une longue chaîne de caractères contenant un mélange de lettres et de chiffres. Si votre jeton push semble différent, vérifiez votre code pour l’envoi des jetons 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 APNs 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 push que vous avez téléchargé sur Braze correspond au profil de provisionnement que vous avez utilisé pour compiler l’application à partir de laquelle le jeton push a été envoyé.
Le jeton d’appareil ne correspond pas au sujet
Cette erreur indique que le certificat push de votre application et l’identifiant de bundle ne correspondent pas. Vérifiez que le certificat push que vous avez téléchargé sur Braze correspond au profil de provisionnement utilisé pour compiler l’application à partir de laquelle le jeton push a été envoyé.
BadDeviceToken lors de l’envoi au jeton push
Le BadDeviceToken est un code d’erreur APNs 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 après la distribution des notifications push
Pour ajouter une vérification de la gestion des notifications push de votre application, implémentez des tests unitaires de notifications push.
Les clics sur les notifications push ne sont pas enregistrés
- Si cela ne se produit que sur iOS 10, assurez-vous d’avoir suivi les étapes d’intégration des notifications push pour iOS 10.
- Braze ne gère pas les notifications push reçues silencieusement au premier plan (par exemple, le comportement par défaut des notifications push au premier plan avant le framework
UserNotifications). Cela signifie que les liens ne seront pas ouverts et que les clics sur les notifications push ne seront pas enregistrés. Si votre application n’a pas encore intégré le frameworkUserNotifications, Braze ne gérera pas les notifications push lorsque l’état de l’application estUIApplicationStateActive. Vous devez vous assurer que votre application ne retarde pas les appels à nos méthodes de gestion des notifications push ; sinon, le SDK iOS peut traiter les notifications push comme des événements push silencieux au premier plan et ne pas les gérer.
Les liens web issus des clics sur les notifications push ne s’ouvrent pas
iOS 9+ exige que les liens soient conformes à l’ATS pour être ouverts dans les vues web. Assurez-vous que vos liens web utilisent HTTPS. Consultez notre article sur la conformité ATS pour plus d’informations.
Les deep links issus des clics sur les notifications push ne s’ouvrent pas
La plupart du code qui gère les deep links gère également les ouvertures de notifications push. Tout d’abord, assurez-vous 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 enregistrées, vérifiez s’il s’agit d’un problème avec le deep link en général ou avec la gestion des clics de deep link via les notifications push. Pour ce faire, testez si un deep link à partir d’un clic sur un message in-app fonctionne.
Peu ou pas d’ouvertures directes
Si au moins un utilisateur ouvre votre notification push iOS, mais que peu ou pas d’ouvertures directes sont enregistrées dans Braze, il se peut qu’il y ait un problème avec votre intégration SDK. Gardez à l’esprit que les ouvertures directes ne sont pas enregistrées pour les envois de test ou les notifications push silencieuses.
- Assurez-vous que les messages ne sont pas envoyés en tant que notifications push silencieuses. Le message doit contenir du texte dans le titre ou le corps pour ne pas être considéré comme silencieux.
- Vérifiez à nouveau les étapes suivantes du guide d’intégration des notifications push :
- S’inscrire aux notifications push : À chaque lancement de l’application, de préférence dans
application:didFinishLaunchingWithOptions:, le code de l’étape 3 doit être exécuté. La propriété delegate deUNUserNotificationCenter.current()doit être attribuée à un objet qui implémenteUNUserNotificationCenterDelegateet contient la méthode(void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:. - Activer la gestion des notifications push : Vérifiez que la méthode
(void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:a été implémentée.
- S’inscrire aux notifications push : À chaque lancement de l’application, de préférence dans
Les clics sur les images des Push Stories ne font rien
Cette section s’applique à l’intégration Push Story du SDK Objective-C. Si vous utilisez le module BrazePushStory du SDK Swift, définissez UNNotificationExtensionUserInteractionEnabled sur YES. Consultez Push Stories.
Si le fait d’appuyer sur une image Push Story n’ouvre pas l’action attendue, ouvrez le Info.plist de l’extension Notification Content Extension et vérifiez que les clés correspondent à la configuration de Push Story :
UNNotificationExtensionCategory=ab_cat_push_story_v2UNNotificationExtensionDefaultContentHidden=YESUNNotificationExtensionInitialContentSizeRatio=0.65
Si UNNotificationExtensionUserInteractionEnabled figure dans ce plist, supprimez-le. La configuration Push Story en Objective-C n’inclut pas cette clé.