Résolution des problèmes des messages in-app
Utilisez cette page pour diagnostiquer pourquoi les messages in-app ne sont pas distribués ou affichés sur un appareil. Pour la configuration côté tableau de bord (priorité, déclencheurs, segments et rééligibilité), consultez la FAQ sur les messages in-app.
Avant de déboguer, ajoutez-vous en tant qu’utilisateur test et consultez Envoyer des messages de test.
Commencez ici : identifiez votre symptôme
| Symptôme | Aller à |
|---|---|
| Le message in-app ne s’est pas affiché pour un utilisateur | Un utilisateur |
| Le message in-app ne s’est pas affiché sur une plateforme (Android, iOS ou Web) | Une plateforme |
| Le message in-app d’une étape Canvas ne s’est pas affiché | Messages in-app Canvas |
| Le message in-app s’est affiché en retard ou après un délai | Timing et affichage différé |
| Les impressions ou les clics semblent incorrects | Impressions et analyses |
triggers manquant ou vide dans les journaux des événements utilisateurs |
Résolution des problèmes de distribution |
| Les déclencheurs sont retournés mais rien ne s’affiche sur l’appareil | Résolution des problèmes d’affichage par plateforme |
Le chargement des ressources du message in-app échoue (iOS, NSURLError -1008) |
Chargement des ressources (onglet Swift) |
Parcours d’investigation standard
Utilisez ce flux de travail pour chaque incident. Commencez à l’étape 1.
- Confirmez qu’un démarrage de session est enregistré pour l’appareil de test. Les messages in-app sont demandés au démarrage de la session.
- Ouvrez les journaux des événements utilisateurs et trouvez la requête SDK pour ce démarrage de session. Dans Response Data :
- Dans le JSON brut, confirmez que
respond_withinclut"triggers": true. - La ligne Requested Responses doit inclure
triggers. - Les lignes Trigger In-App Message listent chaque message in-app retourné pour cette requête.
- S’il n’y a pas de clé
triggersni de lignes Trigger In-App Message, consultez Résoudre les problèmes de messages non demandés. - Si
triggersest présent mais vide ([]), consultez Résoudre les problèmes de messages non retournés. - Si des lignes Trigger In-App Message sont présentes mais que rien ne s’affiche, consultez Résolution des problèmes d’affichage par plateforme.
- Chaque payload de déclencheur inclut un
type:inapp(standard) outemplated_iam(nécessite une requête de modèle avant l’affichage). Voir Types de messages in-app.
- Dans le JSON brut, confirmez que
- Pour l’éligibilité côté tableau de bord (segment, rééligibilité, plafonds de fréquence, priorité, groupes de contrôle), consultez Résolution des problèmes de distribution et la FAQ sur les messages in-app.
- Pour les problèmes d’affichage côté appareil (délégués, limites de débit, orientation, délai d’expiration de session), sélectionnez votre onglet SDK sous Résolution des problèmes d’affichage par plateforme.
Messages in-app Canvas
Symptôme : Un utilisateur est entré dans une étape de message in-app Canvas mais n’a pas vu le message au moment attendu.
Trois comportements sont à l’origine de la plupart des tickets liés aux Canvas et aux messages in-app :
- Affichage à la session suivante : Les messages in-app Canvas sont éligibles au prochain démarrage de session après le traitement de l’étape, et non immédiatement en cours de session. Voir Quand les messages in-app dans Canvas sont-ils envoyés ? dans la FAQ Canvas.
- Validations de distribution à l’entrée de l’étape : Si Valider l’audience à l’envoi du message est activé sur l’étape Message, l’appartenance au segment et les plafonds de fréquence sont évalués lorsque l’utilisateur entre dans l’étape, et non au moment de l’affichage. Voir Validations de distribution.
- Délai et expiration de session : Si un utilisateur entre dans une étape de délai plus longue que le délai d’expiration de session de votre SDK, il peut démarrer une nouvelle session avant l’étape du message in-app. Le message pourrait ne pas être récupéré au démarrage de la session au moment où vous vous attendez à ce qu’il s’affiche.
Pour les fenêtres de disponibilité, l’expiration et les Envois à zéro dans les analyses Canvas, consultez Messages in-app et distribution dans la FAQ Canvas.

Les messages in-app dans Canvas ne peuvent être déclenchés que par des événements envoyés via le SDK, et non par la REST API.
Le message in-app ne s’est pas affiché pour un utilisateur
Symptôme : Un utilisateur n’a pas reçu un message in-app attendu ; les autres utilisateurs peuvent ne pas être affectés.
Vérifiez les points suivants :
- L’utilisateur était-il dans le segment au démarrage de la session, lorsque le SDK demande les nouveaux messages in-app ?
- L’utilisateur était-il éligible ou rééligible selon les règles de ciblage de la campagne ou du Canvas ? Voir Rééligibilité pour les Campaigns et Canvas.
- Un plafond de fréquence s’est-il appliqué ?
- L’utilisateur faisait-il partie d’un groupe de contrôle de la campagne ? Vérifiez si la campagne est configurée pour un test A/B.
- Un message in-app de priorité supérieure s’est-il affiché à la place ? Voir Plusieurs messages in-app peuvent-ils s’afficher dans la même session ? dans la FAQ sur les messages in-app.
- L’appareil était-il dans l’orientation spécifiée par la campagne ?
- Le message a-t-il été supprimé par l’intervalle minimum par défaut de 30 secondes entre les déclencheurs ? Voir Remplacer la limite de débit par défaut.
Suivez ensuite le parcours d’investigation standard.
Le message in-app ne s’est pas affiché sur une plateforme
Symptôme : Les messages in-app ne s’affichent pas sur Android, iOS ou Web, mais peuvent fonctionner sur d’autres plateformes.
| Cause probable | Ce qu’il faut vérifier |
|---|---|
| Mauvaise cible Envoyer à | Confirmez que la campagne ou l’étape Canvas cible Applications mobiles ou Navigateurs web selon le cas. Une campagne Web uniquement ne sera pas envoyée aux appareils Android. |
| Une interface personnalisée ou un gestionnaire supprime l’affichage | Vérifiez les délégués (mobile) ou braze.subscribeToInAppMessage (Web). Voir Personnalisation et votre onglet SDK ci-dessous. |
| L’intégration n’a jamais fonctionné sur cette plateforme | Confirmez que cette plateforme et cette version de l’application ont déjà affiché des messages in-app. |
| Le déclencheur ne s’est pas activé sur l’appareil | Le déclencheur doit se produire localement via le SDK. Un appel REST API ne peut pas déclencher un message in-app dans le SDK. Voir Déclencher des messages. |
triggers vide dans les journaux des événements utilisateurs |
Segment, rééligibilité, plafond de fréquence ou groupe de contrôle. Voir Résoudre les problèmes de messages non retournés. |
Le message in-app ne s’est affiché pour aucun utilisateur
Symptôme : Aucun utilisateur ou moins d’utilisateurs que prévu n’a reçu le message in-app.
Vérifiez les points suivants :
- L’action de déclenchement est-elle correctement configurée dans le tableau de bord et dans l’intégration de l’application ?
- Un message in-app de priorité supérieure a-t-il intercepté la campagne ? Voir la FAQ sur les messages in-app.
- Utilisez-vous une version récente du SDK ? Certains types de messages in-app ont des exigences minimales de version SDK.
- Les sessions sont-elles correctement intégrées ? Confirmez que les analyses de session fonctionnent pour cette application.
- Une bibliothèque d’interface personnalisée interfère-t-elle avec l’affichage ? Voir Personnalisation.
Suivez ensuite le parcours d’investigation standard.
Timing et affichage différé
Symptôme : Le message in-app est apparu plus tard que prévu ou seulement lors d’une nouvelle session.
Causes courantes :
- Préchargement au démarrage de session : Les messages in-app sont mis en cache au démarrage de la session et s’affichent lorsque le déclencheur se produit. Un déclencheur qui se produit avant le prochain démarrage de session ne s’affichera pas avant cette session. Voir Déclencher des messages.
- Comportement de session suivante dans Canvas : Voir Messages in-app Canvas.
- Délai planifié dans le tableau de bord : Vérifiez si un délai est configuré sur la campagne ou l’étape.
- Condition de concurrence des déclencheurs : Si les utilisateurs enregistrent un événement immédiatement après le démarrage de la session, les déclencheurs peuvent ne pas encore être synchronisés. Envisagez de déclencher sur le démarrage de session et de segmenter sur l’événement visé afin que la distribution se fasse à la session suivante après l’événement.
- Messages in-app séquentiels : Si vous différez ou restaurez des messages dans un parcours, voir Différer les messages in-app déclenchés.
- Ressources volumineuses ou CDN lent : Optimisez les images et les vidéos pour les messages in-app HTML. Sur mobile, les images peuvent être téléchargées avant l’affichage sur les réseaux lents — sélectionnez votre onglet SDK ci-dessous pour les notes spécifiques à la plateforme.

Si votre message in-app est déclenché par le démarrage de session et que vous avez défini un délai d’expiration de session prolongé, fermer et rouvrir l’application dans cette fenêtre ne rafraîchira pas la session. Par exemple, avec un délai d’expiration de 300 secondes, un message in-app déclenché au démarrage de session ne s’affichera pas tant que la session ne sera pas réellement rafraîchie. Ajustez le délai d’expiration de session ou le type de déclencheur si cela affecte votre test.
Résolution des problèmes de distribution
La plupart des problèmes de messages in-app relèvent de la distribution (l’appareil n’a pas reçu les déclencheurs) ou de l’affichage (les déclencheurs sont arrivés mais ne se sont pas affichés). Confirmez d’abord la distribution, puis vérifiez l’affichage.
Résoudre les problèmes de distribution
Le SDK demande les messages in-app aux serveurs Braze au démarrage de la session. Confirmez que le SDK demande les déclencheurs et que Braze les retourne.
Vérifier si les messages sont demandés et retournés
- Ajoutez-vous en tant qu’utilisateur test.
- Configurez une campagne de message in-app ciblant votre utilisateur.
- Démarrez une nouvelle session dans votre application.
- Dans les journaux des événements utilisateurs, trouvez la requête SDK pour l’événement de démarrage de session. Dans Response Data :
- Dans le JSON brut, confirmez que
respond_withinclut"triggers": true. - La ligne Requested Responses liste les clés de premier niveau dans la réponse. Pour les messages in-app, attendez-vous à
triggers. - Les lignes Trigger In-App Message listent chaque message in-app retourné pour cette requête.
Puis triez :
- S’il n’y a pas de clé
triggersni de lignes Trigger In-App Message, voir Résoudre les problèmes de messages non demandés. - Si
triggersest présent mais vide ([]), voir Résoudre les problèmes de messages non retournés. - Si des lignes Trigger In-App Message sont présentes mais que rien ne s’affiche sur l’appareil, voir Résolution des problèmes d’affichage par plateforme.
- Chaque payload de déclencheur inclut un
type:inapp(standard) outemplated_iam(nécessite une requête de modèle avant l’affichage). Voir Types de messages in-app.
- Dans le JSON brut, confirmez que
- Confirmez que les messages in-app corrects apparaissent dans les données de réponse.

Résoudre les problèmes de messages non demandés
Si les messages in-app ne sont pas demandés, votre application ne suit peut-être pas correctement les sessions — les messages in-app se rafraîchissent au démarrage de la session. Confirmez que l’application démarre une session en fonction de la sémantique de votre délai d’expiration de session :

Résoudre les problèmes de messages non retournés
Si les messages in-app ne sont pas retournés, vous rencontrez probablement un problème de ciblage ou d’éligibilité :
- Votre segment ne contient pas votre utilisateur.
- Vérifiez l’onglet Engagement de l’utilisateur pour le segment attendu.
- Votre utilisateur a déjà reçu le message et n’était pas rééligible.
- Vérifiez les paramètres de rééligibilité et la FAQ sur les messages in-app.
- Votre utilisateur a atteint le plafond de fréquence.
- Vérifiez les paramètres de plafond de fréquence.
- Votre utilisateur est tombé dans un groupe de contrôle.
- Créez un segment avec un filtre A reçu une variante de campagne défini sur Contrôle, ou désactivez les groupes de contrôle pendant les tests d’intégration.
- Un message in-app de priorité supérieure a pris le dessus. Voir la FAQ sur les messages in-app.
Pour les campagnes archivées, la configuration des déclencheurs et les heures calmes, consultez la FAQ sur les messages in-app.
Impressions et analyses
Symptôme : Le nombre d’impressions ou de clics ne correspond pas aux attentes.
- Impressions supérieures aux Impressions uniques : Cela est attendu lorsque les utilisateurs possèdent plusieurs appareils ou lorsqu’un délai planifié fait qu’un même utilisateur se qualifie plus d’une fois. Voir Rééligibilité pour les Campaigns et Canvas.
- Impressions inférieures aux attentes : Les utilisateurs peuvent ne pas avoir vu le message (les impressions sont enregistrées à l’affichage), plusieurs messages de haute priorité peuvent s’intercepter mutuellement, ou des conditions de concurrence des déclencheurs peuvent s’appliquer. Pour les messages in-app Canvas, voir Messages in-app Canvas. Pour les définitions complètes des indicateurs, voir Rapports sur les messages in-app et la FAQ sur les messages in-app.
- Impressions inférieures à avant : Consultez les journaux de modifications du segment et de la campagne. Confirmez que vous n’avez pas réutilisé le même événement déclencheur dans une campagne de priorité supérieure.

Si vous utilisez un délégué ou un gestionnaire personnalisé pour afficher les messages in-app manuellement, vous devez enregistrer les impressions et les clics vous-même. Consultez votre onglet SDK sous Résolution des problèmes d’affichage par plateforme pour les détails Swift et Android, ou Enregistrer les données des messages in-app pour le Web.
Résolution des problèmes d’affichage par plateforme
Si des lignes Trigger In-App Message apparaissent dans les journaux des événements utilisateurs mais que rien ne s’affiche sur l’appareil, sélectionnez votre onglet SDK pour les vérifications d’affichage (délégués, limites de débit, orientation et gestionnaires personnalisés).
Résolution des problèmes d’affichage
Si votre application demande et reçoit des messages in-app mais qu’ils ne s’affichent pas, il se peut que la logique côté appareil empêche l’affichage :
-
L’événement déclencheur se déclenche-t-il comme prévu ? Pour le vérifier, configurez le message pour qu’il se déclenche à l’aide d’une action différente (comme le démarrage d’une session) et vérifiez s’il s’affiche.
-
Les messages in-app déclenchés sont soumis à une limitation de débit basée sur l’intervalle de temps minimum entre les déclenchements, qui est de 30 secondes par défaut.
-
Les échecs de téléchargement d’images empêchent l’affichage des messages in-app contenant des images. Vérifiez les journaux de votre appareil pour détecter d’éventuels échecs de téléchargement. Essayez de supprimer temporairement l’image pour voir si le message s’affiche.
-
Si vous utilisez une gestion personnalisée des messages in-app via
braze.subscribeToInAppMessage, vérifiez que le rappel ne bloque pas l’affichage. Consultez Personnalisation.
Résolution des problèmes d’affichage
Si votre application demande et reçoit des messages in-app mais qu’ils ne s’affichent pas, il se peut que la logique côté appareil empêche l’affichage :
-
L’événement déclencheur se déclenche-t-il comme prévu ? Pour le vérifier, configurez le message pour qu’il se déclenche à l’aide d’une action différente (comme le démarrage d’une session) et vérifiez s’il s’affiche.
-
Les messages in-app déclenchés sont soumis à une limitation de débit basée sur l’intervalle de temps minimum entre les déclenchements, qui est de 30 secondes par défaut.
-
Les échecs de téléchargement d’images empêchent l’affichage des messages in-app contenant des images. Vérifiez les journaux de votre appareil pour détecter d’éventuels échecs de téléchargement. Essayez de supprimer temporairement l’image pour voir si le message s’affiche.
-
Si vous avez défini un délégué pour personnaliser la gestion des messages in-app, vérifiez qu’il ne bloque pas l’affichage. Consultez Personnalisation.
-
Si l’orientation de l’appareil ne correspond pas au paramètre du message in-app, celui-ci ne s’affichera pas.
-
Selon les conditions réseau, les images peuvent être téléchargées avant l’affichage. Sur les connexions lentes ou les appareils peu performants, prévoyez un délai supplémentaire ou optimisez la taille des ressources.
Les impressions et les clics ne sont pas enregistrés
Si vous avez défini un délégué de message in-app pour gérer manuellement l’affichage du message ou les actions de clic, vous devez enregistrer manuellement les clics et les impressions sur le message in-app.
Résolution des problèmes d’affichage
Si votre application demande et reçoit des messages in-app mais qu’ils ne s’affichent pas, il se peut que la logique côté appareil empêche l’affichage :
-
L’événement déclencheur se déclenche-t-il comme prévu ? Pour le vérifier, configurez le message pour qu’il se déclenche à l’aide d’une action différente (comme le démarrage d’une session) et vérifiez s’il s’affiche.
-
Les messages in-app déclenchés sont soumis à une limitation de débit basée sur l’intervalle de temps minimum entre les déclenchements, qui est de 30 secondes par défaut.
-
Les échecs de téléchargement d’images empêchent l’affichage des messages in-app contenant des images. Vérifiez les journaux de votre appareil pour détecter d’éventuels échecs de téléchargement. Essayez de supprimer temporairement l’image pour voir si le message s’affiche.
-
Si vous avez défini un délégué pour personnaliser la gestion des messages in-app, vérifiez qu’il ne bloque pas l’affichage. Consultez Personnalisation.
-
Si l’orientation de l’appareil ne correspond pas au paramètre du message in-app, celui-ci ne s’affichera pas.
-
Selon les conditions réseau, les images peuvent être téléchargées avant l’affichage. Sur les connexions lentes ou les appareils peu performants, prévoyez un délai supplémentaire ou optimisez la taille des ressources.
Les impressions et les clics ne sont pas enregistrés
Si vous avez défini un délégué de message in-app pour gérer manuellement l’affichage du message ou les actions de clic, vous devez enregistrer manuellement les clics et les impressions sur le message in-app.
Résolution des problèmes de chargement des ressources (NSURLError code -1008)
Lors de l’intégration de Braze avec des bibliothèques tierces de journalisation réseau, les développeurs peuvent fréquemment rencontrer une NSURLError avec le code de domaine -1008. Cette erreur indique que des ressources telles que des images et des polices n’ont pas pu être récupérées ou que leur mise en cache a échoué. Pour contourner ces cas, vous devez enregistrer les URL du réseau de diffusion de contenu de Braze dans la liste des domaines à ignorer par ces bibliothèques.
Domaines
La liste complète des domaines du réseau de diffusion de contenu est indiquée ci-dessous :
"appboy-images.com""braze-images.com""cdn.braze.eu""cdn.braze.com"
Exemples
Vous trouverez ci-dessous les bibliothèques connues pour entrer en conflit avec la mise en cache des ressources de Braze, ainsi qu’un exemple de code permettant de contourner le problème. Si votre projet utilise une bibliothèque qui provoque une erreur de ressource indisponible et qui n’est pas répertoriée ci-dessous, consultez la documentation de cette bibliothèque pour des API d’utilisation similaires.
Netfox
1
NFX.sharedInstance().ignoreURLs(["https://cdn.braze.com"])
1
[NFX.sharedInstance ignoreURLs:@[@"https://cdn.braze.com"]];
NetGuard
1
NetGuard.blackListHosts.append(contentsOf: ["cdn.braze.com"])
1
2
3
NSMutableArray<NSString *> *blackListHosts = [NetGuard.blackListHosts mutableCopy];
[blackListHosts addObject:@"cdn.braze.com"];
NetGuard.blackListHosts = blackListHosts;
XNLogger
1
2
let brazeAssetsHostFilter = XNHostFilter(host: "https://cdn.braze.com")
XNLogger.shared.addFilters([brazeAssetsHostFilter])
1
2
XNHostFilter *brazeAssetsHostFilter = [[XNHostFilter alloc] initWithHost: @"https://cdn.braze.com"];
[XNLogger.shared addFilters:@[brazeAssetsHostFilter]];