
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 Apple Push Notification (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 manière 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 : Configuration du certificat push et du profil de provisionnement
Lors du développement de 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 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échargé sur 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 sont invités à accepter les notifications push. S’ils acceptent cette invite, les APNs génèrent 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 Registered » 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 : Lancement d’une Campaign push Braze
Lorsqu’une Campaign push est lancée, Braze envoie des requêtes aux APNs pour distribuer votre message. Braze utilise le certificat SSL push téléchargé 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 : Suppression des jetons invalides
Si les APNs nous informent que l’un des jetons 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
Braze fournit un journal des erreurs de notification push dans le Journal d’activité des messages. Ce journal d’erreurs propose 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.

Parmi les erreurs courantes que vous pourriez voir ici figurent les 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 offre un aperçu du comportement d’inscription aux notifications push, comme l’invalidation de jetons, les erreurs d’inscription push, le transfert de jetons vers de nouveaux utilisateurs, etc.

Problèmes d’enregistrement des notifications push
Pour ajouter une vérification à la logique d’enregistrement des notifications push de votre application, implémentez les tests unitaires de notification 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
- 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 :
- 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 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 APNs 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
registerPushTokenen définissant 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 « enregistrés pour les notifications push » après l’envoi d’une notification push
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é compilée, les APN rejetteront 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.
Désinstallations
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 pour les applications iOS 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.
Les utilisateurs sont toujours « enregistrés pour les notifications push » 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. 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 ait été 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 « Push Registered » 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.
Les éléments suivants indiqueraient un problème d’enregistrement aux notifications push ou que le jeton de l’utilisateur a été renvoyé à Braze comme invalide par les APN après l’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 la Résolution des problèmes des notifications 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
[[Appboy sharedInstance] registerPushToken:]est valide. Vous pouvez consulter le journal d’activité des messages pour voir le jeton de notification 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 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. L’utilisation d’un certificat de développement pour une application de production ou d’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é sur Braze correspond au profil de provisionnement que vous avez utilisé pour compiler l’application à partir de laquelle le jeton de notification push a été envoyé.
Device token not for topic
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 de notification push a été envoyé.
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 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 push.
Les clics 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 push pour iOS 10.
- Braze ne gère pas les notifications push reçues silencieusement au premier plan (par exemple, le comportement push par défaut au premier plan 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 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 pourrait 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 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 push ne s’ouvrent pas
La majeure partie du code qui gère les deep links gère également les ouvertures push. Tout d’abord, assurez-vous que les ouvertures 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 push via deep link. Pour ce faire, testez si un deep link depuis 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 peut y avoir 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 les étapes suivantes du guide d’intégration 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 assigné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 bien été implémentée.
- S’inscrire aux notifications push : À chaque lancement de l’application, de préférence dans