Sur cette page : Diagnostiquez systématiquement pourquoi vos activités Live ne s’affichent pas, ne se mettent pas à jour ou ne se terminent pas afin de pouvoir résoudre les problèmes de jeton de profil, de configuration de campagne, de payload et de diffusion dans les cas d’utilisation unitaires et de diffusion.
Trouver votre scénario find-your-scenario
Scénario 1 : problèmes de profil ou de jeton push scenario-1-profile-or-push-token-issues
[S’applique aux cas d’utilisation unitaires et de diffusion]{class="badge informative"}
L’API de déclenchement accepte la requête, mais l’activité Live n’apparaît pas. Causes fréquentes :
- Le profil n’existe pas dans Adobe Experience Platform.
- Le jeton push requis n’a pas été synchronisé avec le profil : un jeton push d’activité active sur iOS ou le jeton d’enregistrement FCM standard sur Android.
- Les détails du jeton push contiennent une configuration incorrecte, telle qu’un
appId, une plateforme ou unattributeTypeiOS incorrect.
Pour les diffusions : échantillonnez plusieurs profils d’audience pour vérifier l’enregistrement du jeton. Sur iOS, les vérifications de jeton de profil s’appliquent aux événements de début distants, et non aux événements de mise à jour ou de fin basés sur un canal. Sur Android, vérifiez également l’abonnement à la rubrique FCM de l’appareil à l’aide du Scénario 6.
Vérifier que le profil existe
Pour iOS et Android, commencez par cette vérification. Pour les diffusions, répétez-la pour plusieurs profils d’audience.
- Dans Journey Optimizer, accédez à Client
>Profils. - Effectuez une recherche à l’aide de l’espace de noms et de la valeur d’identité de votre requête API.
- Si le profil est introuvable, c’est qu’il n’existe pas ou l’ingestion n’est pas terminée. Créez le profil ou attendez la fin de l’ingestion avant de déclencher l’activité Live .
- Si le profil est trouvé, continuez avec les vérifications de jeton pour votre plateforme.
Vérifier le jeton push
Contrôles préalables
-
Configuration requise pour l’application iOS :
- iOS 16.1+
NSSupportsLiveActivitiesdéfini surYESdansInfo.plistActivityAttributescorrectement implémentée.
-
Intégration de Mobile SDK :
- Adobe Experience Platform Mobile SDK (messagerie SDK 5.11.0+)
Messaging.registerLiveActivitiesimplémenté et appelé avec le jeton push d’activité dynamique.
Étapes de débogage
| accordion |
|---|
| 1. Vérifier si le jeton push d’activité dynamique est synchronisé |
|
Vous pouvez utiliser Assurance pour vérifier l’enregistrement des jetons :
Vous pouvez également archiver le profil Adobe Experience Platform.
Si aucun événement n’est trouvé, l’application n’appelle pas |
| accordion | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Valider les détails du jeton sur le profil | |||||||||||||||||||||||
Valider chaque champ :
Si un champ est incorrect, mettez à jour l’application mobile, réenregistrez-la à l’aide de l’ Si |
Contrôles préalables
-
Configuration requise pour l’application Android :
- Exécutez l’application sur Android 16.1 (niveau API 36.1) ou une version ultérieure, avec la
targetSdkdéfinie sur36. - Assurez-vous que les autorisations
POST_NOTIFICATIONSetPOST_PROMOTED_NOTIFICATIONSsont accordées. - Créez le canal de notification utilisé par l’activité Live .
- Exécutez l’application sur Android 16.1 (niveau API 36.1) ou une version ultérieure, avec la
-
Intégration de Mobile SDK :
- Intégrez Adobe Experience Platform Mobile SDK à Messaging et à l’extension Live Activities.
- Transférez le jeton d’enregistrement FCM vers SDK à l’aide de
MobileCore.setPushIdentifier(token).
Étapes de débogage
| accordion |
|---|
| 1. Vérifier l’enregistrement du jeton FCM |
|
Android utilise le jeton d’enregistrement FCM standard pour les activités dynamiques. Il n’existe aucun événement
Si l’événement d’enregistrement ou le jeton de profil est manquant, vérifiez que l’application transfère le jeton d’enregistrement FCM vers SDK à l’aide de |
| accordion | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Valider les détails du jeton sur le profil | ||||||||||||||||||||
Valider chaque champ :
Si un champ est incorrect, corrigez la configuration d’application selon les besoins, transférez à nouveau le jeton FCM à l’aide de Si |
Scénario 2 : problèmes de configuration de Campaign et de payload scenario-2-campaign-configuration-and-payload-issues
[S’applique aux cas d’utilisation unitaires et de diffusion]{class="badge informative"}
Le profil existe et possède des jetons valides, mais l’activité Live n’apparaît pas. Causes possibles :
- Mauvaise configuration de surface ou de canal.
- Structure de la payload de l’API incorrecte.
- Les champs de payload ne correspondent pas à l’implémentation de l’application : iOS
ActivityAttributesou le mapping du fournisseur de style Android . timestampobsolètes (critiques pour la mise à jour/la fin).
Pour les diffusions : la campagne doit être marketing déclenché par l’API, et non transactionnelle. La payload utilise audience au lieu de recipients. Voir Scénario 6 pour les payloads de diffusion spécifiques à la plateforme et la documentation Adobe Developer pour obtenir des spécifications d’API complètes.
Contrôles préalables
- Vérifiez que la campagne est transactionnelle déclenchée par l’API (unitaire) ou marketing déclenché par l’API (diffusion). Gardez la case à cocher Débit élevé désactivée, car elle est incompatible avec les activités dynamiques.
- Vérifiez que le profil existe et que ses jetons sont synchronisés à l’aide des contrôles iOS dans Scénario 1.
Étapes de débogage
| accordion |
|---|
| 1. Vérifier la configuration de la surface de campagne |
|
| accordion | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Validation de la structure de la payload de l’API | ||||||||||||||||||||||||||
|
Lors de l’exécution de la campagne par le biais de l’API, assurez-vous que la payload suit la structure correcte. Payload unitaire :
Problèmes courants de payload :
Critique : utilisez toujours un nouvel horodatage
Champs facultatifs (tous les types d’événements) :
À propos de
|
| accordion | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. Alignement de la payload sur l’implémentation d’iOS | |||||||||||||||||||||||||||||||
|
Assurez-vous que la payload de l’API correspond à la mise en œuvre Validez le mappage :
Liste de contrôle de validation :
Erreurs courantes :
Pour consulter d’autres exemples, consultez la page Créer une activité en direct. |
| accordion |
|---|
| 4. Tester avec Assurance |
|
Vérifiez l’exécution de l’API et la diffusion de la payload à l’aide d’Assurance :
|
Contrôles préalables
- Vérifiez que la campagne est transactionnelle déclenchée par l’API (unitaire) ou marketing déclenché par l’API (diffusion). Gardez la case à cocher Débit élevé désactivée, car elle est incompatible avec les activités dynamiques.
- Vérifiez que le profil existe et que son jeton FCM est synchronisé à l’aide des contrôles Android dans Scénario 1.
Étapes de débogage
| accordion |
|---|
| 1. Vérifier la configuration de la surface de campagne |
|
| accordion | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Validation de la structure de la payload de l’API | ||||||||||||||||||||||||||||||||
|
Placez les champs d’activité Android Live sous Payload de début unitaire :
Remplacez l’exemple d’horodatage par l’heure Unix actuelle en secondes. Les clés Pour les diffusions, utilisez une campagne marketing déclenchée par API avec Problèmes courants de payload :
Vérifications d’horodatage et de cycle de vie :
Rejet de l’événement de fin : Par |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. Alignement de la payload avec la mise en œuvre d’Android | |||||||||||||||||||||
|
Le fournisseur de style de l’application détermine le rendu des valeurs
Erreurs courantes :
Pour consulter d’autres exemples, voir Création d’activités dynamiques. |
| accordion |
|---|
| 4. Tester avec Assurance |
|
Utilisez Assurance sur un appareil de test Android connecté.
|
Scénario 3 : échecs de diffusion et analyse des erreurs scenario-3-delivery-failures-and-error-analysis
[S’applique aux cas d’utilisation unitaires et de diffusion]{class="badge informative"}
Dans ce scénario, toutes les vérifications précédentes ont réussi :
- Le profil existe avec des jetons push valides pour la plateforme de l’appareil.
- Campaign et la payload réussissent les vérifications de configuration.
- Pour les événements de mise à jour unitaire ou de fin iOS, le jeton de mise à jour par instance est synchronisé. Android ne nécessite pas de jeton de mise à jour distinct.
Si l’activité Live ne s’affiche toujours pas, ne se met pas à jour ou ne se termine pas, vérifiez le traitement de la campagne, la diffusion au fournisseur push (APNs sur iOS ou FCM sur Android) et le comportement côté appareil.
Pour les diffusions : les rapports affichent des mesures pour tous les membres de l’audience. Certains profils peuvent réussir tandis que d’autres échouent.
Vérifier les rapports de campagne check-campaign-reports
Pour iOS et Android, commencez par le rapport de campagne. Elle indique si Journey Optimizer a tenté l’envoi, exclu le profil ou atteint une erreur.
-
Accédez à votre Campagne d’activité dynamique.
-
Cliquez sur le bouton Rapports.
-
Sélectionnez Afficher le rapport en tout temps.
-
Vérifiez les mesures Statistiques d’envoi pour comprendre le succès de la diffusion :
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Mesure Signification Éléments à rechercher Ciblés Nombre de profils qualifiés pour l’audience Doit inclure votre profil de test Envois Nombre total de notifications push ayant fait l’objet d’une tentative Doit correspondre à vos appels API Délivrés Mesure de diffusion signalée Comparer avec Envois ; vérifier le rendu de l’appareil séparément Erreurs d’envoi Notifications push dont l’envoi a échoué Rechercher les raisons de l’erreur Envoyer les exclusions Profils exclus par Adobe Journey Optimizer Vérifier si votre profil a été exclu -
Si Envoyer les erreurs > 0, vérifiez le tableau Causes des erreurs. Utilisez l’étape 1 de l’onglet pour que votre plateforme interprète les erreurs.
-
Si Envoyer les exclusions > 0, cochez le tableau Causes d’exclusion :
table 0-row-3 1-row-3 2-row-3 3-row-3 Exclusion courante Signification Résolution Profil désinscrit L’utilisateur s’est opposé aux notifications Vérifier le statut de consentement du profil Jeton placé sur la liste bloquée Jeton marqué comme non valide Réenregistrez le jeton (iOS) ou transférez le jeton FCM actuel (Android), ou vérifiez le statut de la liste bloquée Profil non éligible Le profil ne répond pas aux critères de la campagne. Vérifier les règles d’audience de campagne -
Consultez la section Cycle de vie des activités dynamiques :
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Mesure Éléments à vérifier Démarrages à distance Doit afficher le nombre de démarrages déclenchés par l’API Mises à jour Doit afficher le nombre d’événements de mise à jour Se termine Doit afficher le nombre d’événements de fin Nombre de totaux Volume global des événements d’activité en direct Si ces mesures sont nulles ou ne correspondent pas à vos appels API, vérifiez le traitement de la campagne et la diffusion du fournisseur de notifications push à l’aide des vérifications spécifiques à la plateforme ci-dessous.
Pour en savoir plus, consultez la page Rapport de campagne d’activité dynamique .
Vérifier la diffusion pour votre plateforme
Pré-contrôles
-
Scénarios précédents validés :
- Le profil existe avec le
liveActivityPushNotificationDetailscorrect. - La surface de campagne et le type d’activité sont corrects.
- La payload de l’API est valide avec l’horodatage actuel.
- Les jetons de mise à jour sont synchronisés (événements de mise à jour unitaire et de fin uniquement).
- Le profil existe avec le
-
Appel API confirmé :
- L’API de déclenchement a accepté la requête. Cela ne confirme pas la diffusion ou le rendu de l’appareil.
- L’identifiant de campagne et les détails du destinataire sont corrects.
Étapes de débogage
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. Interpréter les erreurs d’envoi | ||||||||||||||||||
|
Ignorer cette étape si le rapport de campagne n’affiche aucune erreur d’envoi. Sinon, faites correspondre l’erreur du tableau Raisons de l’erreur aux erreurs APNs courantes suivantes :
|
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Vérifier les événements de retour de message dans le profil | ||||||||||||||||||
Si |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. Vérifier la diffusion de l’activité en direct aux APNs dans Assurance | |||||||||||||||||||||
|
| accordion |
|---|
| 4. Vérification du comportement côté appareil |
|
Si Adobe affiche une diffusion réussie mais que l’appareil n’affiche pas l’activité Live :
|
| accordion |
|---|
| 5. Transmission à l’assistance Adobe |
|
Si vous avez terminé toutes les étapes et que le problème n’est pas résolu, contactez l’assistance clientèle d’Adobe à l’adresse suivante : Informations requises :
|
Pré-contrôles
-
Scénarios précédents validés :
- Un profil existe avec des
pushNotificationDetailsvalides, y compris le jeton FCM actuel, le nom du package Android et leplatform: "fcm". - La surface Campaign cible l’application Android appropriée et utilise les informations d’identification FCM correspondantes.
- La payload
fcmest valide et satimestampest plus récente que l’événement précédent pour la mêmenotification_id(outopic_namepour les diffusions). - Les événements de début, de mise à jour et de fin utilisent le même
notification_id. Les événements unitaires utilisent le même jeton d’enregistrement FCM ; aucun jeton de mise à jour distinct n’est requis.
- Un profil existe avec des
-
Appel API confirmé :
- L’appel API a renvoyé un HTTP 202 (accepté). Cela confirme l’acceptation de la requête, et non la diffusion ou le rendu de l’appareil.
- L’identifiant de campagne et les détails du destinataire sont corrects. Pour les diffusions, vérifiez l’ID d’audience et la rubrique FCM.
Étapes de débogage
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. Interpréter les erreurs d’envoi | |||||||||||||||||||||
|
Ignorer cette étape si le rapport de campagne n’affiche aucune erreur d’envoi. Sinon, faites correspondre l’erreur du tableau Raisons de l’erreur aux erreurs FCM courantes suivantes :
|
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Vérifier les événements de retour de message dans le profil | ||||||||||||||||||
Si |
| accordion |
|---|
| 3. Inspecter la diffusion FCM dans Assurance |
|
Utilisez Assurance sur un appareil de test Android connecté.
|
| accordion |
|---|
| 4. Vérification du comportement côté appareil |
|
Si Adobe affiche une diffusion réussie mais que l’appareil n’affiche pas ou ne met pas à jour l’activité Live :
|
| accordion |
|---|
| 5. Transmission à l’assistance Adobe |
|
Si vous avez terminé toutes les étapes et que le problème n’est pas résolu, contactez l’assistance clientèle d’Adobe à l’adresse suivante : Informations requises :
|
Scénario 4 : jeton de mise à jour de l’activité active non synchronisé scenario-4-live-activity-update-token-not-synced
[S’applique uniquement aux cas d’utilisation unitaires]{class="badge informative"}
[S’applique uniquement à iOS]{class="badge positive"}
L’activité En direct démarre sur l’appareil, mais les demandes d’API update ou end acceptées ne les mettent pas à jour ni ne les ignorent. La raison possible est que le jeton de mise à jour d’activité dynamique par instance n’a pas été synchronisé avec le système Adobe. Effectuez les vérifications ci-dessous pour confirmer si la synchronisation des jetons pose problème.
Présentation des jetons de mise à jour
Lorsqu’une activité Live démarre sur un appareil, iOS génère un jeton de mise à jour unique pour cette instance d’activité Live spécifique. Ce jeton est requis pour :
- Envoi de mises à jour à l’activité Live
- Terminaison à distance de l’activité Live
Chaque instance d’activité active possède son propre jeton de mise à jour unique. Adobe a besoin de ce jeton pour diffuser les événements de mise à jour et de fin.
Comportement attendu
Pour que les événements de mise à jour et de fin fonctionnent, les événements suivants doivent se produire :
- L’activité en direct démarre correctement sur l’appareil.
- L’appareil génère un jeton de mise à jour pour cette instance d’activité active.
- Mobile SDK capture et envoie le jeton de mise à jour à Adobe.
- Le jeton de mise à jour est synchronisé et stocké dans le système Adobe.
- Les appels API suivants pour la mise à jour/l’utilisation finale de ce jeton pour la diffusion.
Pré-vérifications :
- Autorisation utilisateur : la première fois qu’une activité Live démarre sur un appareil, iOS affiche une invite système indiquant « Autoriser [Nom de l’application] à fournir des mises à jour d’activité Live ? » L’utilisateur doit appuyer sur « Autoriser » pour que les jetons de mise à jour soient générés et synchronisés. Si l’utilisateur clique sur « Ne pas autoriser », aucun jeton de mise à jour n’est créé et les requêtes de mise à jour/fin échouent. Il s’agit d’une autorisation unique par application.
- Validation des profils et des campagnes : effectuez les vérifications Scénario 1 et Scénario 2 pour vous assurer que le profil, les jetons et la configuration de la campagne sont corrects.
Étapes de débogage
-
Ouvrez votre session Assurance.
-
Assurez-vous que la session était active lorsque l’activité En direct a démarré sur l’appareil.
-
Filtrez ou recherchez des événements avec
eventType = "liveActivity.updateToken". -
Sélectionnez l’événement et examinez la payload :
- Vérifiez que le champ
tokencontient une chaîne de jeton de mise à jour valide. - Vérifiez que le
liveActivityIDcorrespond à votre instance d’activité active. - Vérifiez que la
activityTypecorrespond à votreattributes-type.
- Vérifiez que le champ
-
Si l’événement est introuvable :
- Le jeton de mise à jour n’a pas été généré ou capturé par le SDK.
- Vérifiez si l’utilisateur a accordé des autorisations d’activité en direct.
- Vérifiez que l’activité Live a démarré correctement sur l’appareil.
- Vérifiez que le SDK mobile est correctement intégré pour capturer les jetons de mise à jour.
-
Si l’événement est trouvé, passez à l’étape 2.
-
Accédez à Client > Profils dans Journey Optimizer.
-
Recherchez et ouvrez le profil.
-
Sélectionnez l’onglet Événements.
-
Recherchez les événements
liveActivity.updateToken. -
Vérifiez les détails de l’événement :
- Vérifiez que l’horodatage est récent (correspond au démarrage de l’activité Live ).
- Vérifiez que les
tokenet lesliveActivityIDsont présents. - Assurez-vous que la
activityTypeest correcte.
-
Si l’événement est introuvable dans le profil :
- L’événement de jeton de mise à jour n’a peut-être pas encore été ingéré dans le profil.
- Patientez 5 à 10 minutes et vérifiez à nouveau.
- S’il manque toujours après 15 minutes, il peut y avoir un problème d’ingestion d’événement.
-
Si l’événement est trouvé, le jeton de mise à jour a été synchronisé. Passez à l’étape 3.
-
Au cours de votre session Assurance, exécutez une mise à jour ou terminez un appel API.
-
Dans la Liste des événements, recherchez les événements de diffusion d’activité en direct (événements push APNs).
-
Recherchez des événements indiquant :
- Notification push envoyée aux APNs.
- Réponse des APNs (succès ou erreur).
- Confirmation de diffusion.
-
Si un événement de diffusion APNS est présent : la notification push a été envoyée. Si l’appareil n’est toujours pas mis à jour, le problème peut concerner l’appareil (l’application ne gère pas la notification push, problèmes réseau, etc.).
-
Si l’événement de diffusion APNs est manquant : le jeton de mise à jour peut ne pas être correctement stocké ou associé au profil dans le système Adobe.
-
Si des événements d’erreur sont présents : examinez les détails de l’erreur pour des raisons d’échec spécifiques (jeton non valide, APN rejetés, etc.).
Scénario 5 : vérification du statut d’exécution via l’API scenario-5-checking-execution-status-via-the-api
[S’applique uniquement aux cas d’utilisation unitaires]{class="badge informative"}
Après le déclenchement d’une activité Live unitaire, l’API GET Message Execution renvoie l’état actuel de l’exécution. Utilisez-la pour confirmer si une exécution est en file d’attente, en cours, terminée ou en échec, sans attendre que l’événement de retour arrive dans le jeu de données.
L’executionId est l’identifiant du message renvoyé dans la réponse du déclencheur. Pour les exécutions unitaires, il comporte le préfixe HUOC-.
Point d’entrée et exemple de requête
Point d’entrée : GET https://cjm.adobe.io/imp/message/executions/{executionId}
curl --location 'https://cjm.adobe.io/imp/message/executions/HUOC-123456' \
--header 'x-gw-ims-org-id: <IMS_ORG_ID>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'x-sandbox-name: <SANDBOX_NAME>' \
--header 'x-sandbox-id: <SANDBOX_UUID>' \
--header 'x-api-key: <API_KEY>'
Codes de réponse HTTP
Valeurs du statut d’exécution
Le champ status dans une réponse 200 indique la progression de l’exécution :
PENDINGINPROGRESSCOMPLETEDFAILEDLa réponse 200 renvoie également executionType (unitary ou batch), executionRunMode (default ou test) et un bloc de source avec des métadonnées (campaignId, journeyId, batchInstanceId, informations sur les ressources) qui relient l’exécution à la campagne ou au parcours de déclenchement.
Scénario 6 : problèmes de configuration de campagne de diffusion et de payload broadcast-config
[S’applique uniquement aux cas d’utilisation de diffusion]{class="badge informative"}
Cette section aborde les scénarios de dépannage spécifiques aux activités de diffusion en direct, qui nécessitent des approches de débogage différentes de celles des campagnes unitaires.
Lorsque les profils disposent de jetons valides mais que l’activité Live n’apparaît pas, ne met pas à jour ou ne se comporte pas comme prévu pour les membres de l’audience, le problème provient généralement de l’un des éléments suivants :
- La campagne n’est pas configurée en tant que marketing déclenché par l’API.
- La payload de l’API n’a pas d’
audienceou l’identifiant de diffusion spécifique à la plateforme :input-push-channelsur iOS outopic_namesur Android. - Les champs de payload ne correspondent pas à l’implémentation d’iOS
ActivityAttributesni au mappage fournisseur de style Android. - Le canal push Apple n’est pas configuré correctement ou l’appareil Android n’est pas abonné à la rubrique FCM.
Ce scénario de dépannage s’applique à tous les événements d’activité Live dans les campagnes de diffusion : start, update et end.
Pré-vérifications :
-
Type de campagne :
- Vérifiez que la campagne est créée en tant que marketing déclenché par l’API (obligatoire pour les campagnes diffusées/basées sur l’audience).
- Vérifiez qu’une audience est définie dans la configuration de la campagne.
-
Validation des profils et des jetons : échantillonnez plusieurs profils de l’audience pour vérifier qu’ils disposent de
liveActivityPushNotificationDetailsvalides. Pour obtenir des étapes de validation détaillées, suivez Scénario 1.
Étapes de débogage
| accordion |
|---|
| 1. Vérifier la configuration de l’audience de la campagne |
|
| accordion | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Validation de la structure de la payload de l’API de diffusion | |||||||||||||||||||||||||||||
|
La structure de la payload de diffusion diffère des campagnes unitaires. Vérifiez que la payload respecte le format de diffusion approprié. Champs obligatoires pour la diffusion :
Problèmes courants de payload :
Champs critiques spécifiques à la diffusion :
Utilisez toujours la dernière date et heure :
Champs facultatifs :
Consultez la documentation de l’API de messagerie Adobe Journey Optimizer 🔗 pour obtenir des spécifications d’API complètes. |
| accordion | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. Alignement de l’état du contenu, des attributs et du canal push d’entrée avec l’implémentation d’iOS | |||||||||||||||||||||||||||||||
|
Assurez-vous que les champs de payload correspondent à l’implémentation
Votre structure de
Incluez des
Critique :
Points clés de validation :
Erreurs courantes :
|
| accordion |
|---|
| 4. Tester avec Assurance |
|
Vérifiez l’exécution de l’API et la diffusion de la payload à l’aide d’Assurance :
|
Pré-vérifications :
- Type de campagne : vérifiez que la campagne est marketing déclenché par l’API et qu’une audience est définie.
- Validation des profils et des jetons : échantillonnez plusieurs profils d’audience pour vérifier qu’ils disposent de
pushNotificationDetailsvalides avecplatform: "fcm". Suivez les vérifications Android dans Scénario 1. - Abonnement à la rubrique : vérifiez que l’appareil de test est abonné à la rubrique FCM utilisée pour la diffusion.
Étapes de débogage
| accordion |
|---|
| 1. Vérifier la configuration de l’audience de la campagne |
|
| accordion | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. Validation de la structure de la payload de l’API de diffusion | ||||||||||||||||||||||||||||||||
|
Les diffusions Android utilisent une rubrique FCM . Incluez Exemple de payload de début de diffusion :
Remplacez l’exemple d’horodatage par l’heure Unix actuelle en secondes. Adaptez les clés Problèmes courants de payload :
Champs critiques spécifiques à la diffusion :
Horodatage et champs facultatifs :
Consultez la documentation de l’API de messagerie Adobe Journey Optimizer 🔗 pour obtenir des spécifications d’API complètes. |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. Vérifier l’abonnement à la rubrique et le rendu de l’application | |||||||||||||||||||||
Erreurs courantes :
Voir l’exemple de payload de diffusion Android 🔗 pour des champs et des exemples supplémentaires. |
| accordion |
|---|
| 4. Tester avec Assurance |
|
Utilisez Assurance sur un appareil de test Android connecté, qui fait partie de l’audience et est abonné à la rubrique de diffusion.
|
Scénario 7 : profil non présent dans l’audience ou instantané d’audience obsolète scenario-7-profile-not-in-audience-or-stale-audience-snapshot
[S’applique uniquement aux cas d’utilisation de diffusion]{class="badge informative"}
Dans ce scénario, la campagne et la payload sont correctement configurées, mais des profils spécifiques ne reçoivent pas l’activité En direct . Cela se produit généralement lorsque :
- Le profil n’est pas membre de l’audience liée à la campagne.
- L’audience est une audience par lots et contient un instantané obsolète des données de profil.
- Les détails du jeton push du profil (
liveActivityPushNotificationDetailssur iOS oupushNotificationDetailssur Android) ont été mis à jour récemment, mais n’ont pas encore été reflétés dans l’instantané de l’audience.
Ce scénario de dépannage s’applique spécifiquement aux campagnes de diffusion utilisant le ciblage basé sur l’audience.
Comprendre l’évaluation des audiences
Adobe Experience Platform utilise différentes méthodes d’évaluation d’audience qui déterminent à quel moment les mises à jour de profil sont répercutées dans l’audience :
Contrôles préalables
-
Validation des campagnes et des payload :
- Effectuez les vérifications dans Scénario 6 pour votre plateforme afin de vous assurer que la campagne et la payload sont correctes.
- Vérifiez que la
audience.iddans la payload de l’API correspond à la configuration de la campagne.
-
Le profil existe : vérifiez que le profil existe dans Adobe Experience Platform avec des détails de jeton push valides. Suivez les vérifications dans Scénario 1. Les détails à rechercher dépendent de la plateforme :
- iOS:
liveActivityPushNotificationDetailsavec un jeton valide. - Android:
pushNotificationDetailsqui inclut le jeton d’enregistrement FCM actuel, uneappIdcorrespondant au nom, à laplatform: "fcm"et à ladenylisted: falsedu package Android.
- iOS:
-
Abonnement à une rubrique (Android uniquement) : vérifiez que l’appareil est abonné à la rubrique FCM exacte spécifiée dans
topic_name. L’appartenance à l’audience n’abonne pas l’appareil à la rubrique. Suivez les vérifications topic-subscription d’Android dans Scénario 6.
Étapes de débogage
Tout d’abord, vérifiez si le profil qui doit recevoir l’activité En direct fait réellement partie de l’audience.
-
Accédez à Audiences dans Adobe Experience Platform.
-
Recherchez et ouvrez l’audience à l’aide du
audience.idde votre campagne. -
Cliquez sur Parcourir ou Exemples de profils pour afficher les membres de l’audience.
-
Recherchez votre profil de test à l’aide de l’espace de noms et de la valeur d’identité.
-
Si le profil est introuvable dans l’audience :
- Le profil ne répond pas aux critères d’audience ou aux règles de segment.
- Consultez la définition de l’audience pour comprendre les exigences d’appartenance.
- Mettez à jour les données de profil ou la définition d’audience pour inclure le profil.
- Attendez la fin de l’évaluation de l’audience (voir étape 2).
-
Si un profil est trouvé dans l’audience : passez à l’étape 2 pour vérifier l’actualisation des données.
Déterminez si l’audience utilise une évaluation par lots, par flux ou Edge, car cela détermine l’actualisation des données.
| note |
|---|
| NOTE |
| L’évaluation de l’audience n’enregistre pas les jetons push et n’abonne pas les appareils Android aux rubriques FCM. Il détermine uniquement les données de profil que l’instantané d’audience contient. |
-
Sur la page Détails de l’audience, vérifiez la méthode Évaluation :
- Lot : évalué une fois par jour selon un planning.
- Streaming : évalué en temps réel lorsque des mises à jour de profil se produisent.
- : évalué aux emplacements Edge en temps réel.
Suivez les étapes de dépannage appropriées en fonction de la méthode d’évaluation :
Si l’audience utilise l’évaluation par lots :
-
Comprendre les limites des audiences par lots :
- Les audiences par lots sont évaluées une fois par jour (généralement le soir).
- L’instantané d’audience peut avoir jusqu’à 24 heures.
- Si un profil a récemment enregistré ou actualisé ses détails de jeton push (
liveActivityPushNotificationDetailssur iOS oupushNotificationDetailssur Android), les détails mis à jour peuvent ne pas se trouver dans l’instantané actuel. - Les mises à jour apportées aux profils ne seront reflétées que lors de la prochaine évaluation par lots.
-
Vérifier à quel moment s’est produite la dernière évaluation :
- Dans les détails de l’audience, recherchez l’horodatage Dernière évaluation.
- Si les détails du jeton push du profil ont été mis à jour après cet horodatage, l’instantané d’audience n’inclut pas le jeton actif.
-
Résoudre les données obsolètes :
-
Option 1 : attendre l’évaluation par lots planifiée
- La prochaine évaluation par lot inclura les données de profil mises à jour.
- Cela se produit automatiquement une fois par jour.
- Idéal pour les scénarios non urgents.
-
Option 2 : déclencher l’évaluation des audiences à la demande
- Accédez à Audiences dans AEP.
- Sélectionnez votre audience.
- Cliquez sur Évaluer maintenant ou Activer à la demande.
- Attendez la fin de l’évaluation (cela peut prendre de quelques minutes à plusieurs heures selon la taille de l’audience).
- Vérifiez que le profil contient désormais des données mises à jour dans l’instantané d’audience.
- Réessayez l’appel API de diffusion.
-
Si l’audience utilise l’évaluation par flux :
-
Comprendre le comportement de l’audience de diffusion en continu :
- Les audiences en flux continu sont évaluées en temps réel lorsque des mises à jour de profil se produisent.
- Nouveaux profils : remplissez les conditions peu de temps après leur création s’ils répondent aux critères du segment.
- Profils mis à jour : qualifiez-vous ou disqualifiez-vous peu de temps après la mise à jour.
- Profils inchangés existants : ne sont pas réévalués, sauf si une mise à jour est effectuée.
-
Identifier le problème :
- Si un profil existe déjà et répond aux critères du segment, mais qu’aucune mise à jour n’a lieu sur ce profil, il ne peut pas être ajouté à une audience de diffusion en continu nouvellement créée.
- Le profil doit recevoir une mise à jour (toute modification d’attribut) pour déclencher une réévaluation.
-
Résolvez le problème :
-
Pour les nouveaux profils : ils sont automatiquement qualifiés si les critères sont remplis. Aucune action n’est nécessaire.
-
Pour les profils existants sans mises à jour récentes :
- Apportez une mise à jour mineure au profil (par exemple, mettez à jour un champ d’horodatage).
- Cela déclenche l’évaluation en flux continu et ajoute le profil à l’audience.
- Alternative : utilisez une audience par lots ou une audience Edge pour les profils existants.
-
Avancé : débogage via des requêtes de jeux de données advanced-debugging-via-dataset-queries
message.feedback dans le jeu de données d’événement de retour de message AJO, avec les mêmes chemins de schéma et valeurs de feedbackStatus que ci-dessous.sent indique la remise au fournisseur push : APNs sur iOS ou FCM sur Android.Audience : développeurs et ingénieurs de données. Nécessite un accès SQL aux jeux de données Journey Optimizer via Adobe Experience Platform Query Service.
Utilisation : Assurance se limite aux appareils de test connectés au cours d’une session active. Utilisez des requêtes de jeux de données pour examiner les problèmes signalés par les utilisateurs finaux de production ou pour auditer l’historique des diffusions après coup. Le jeu de données expose les mêmes informations de cycle de vie et d’échec que le plug-in Assurance.
Localisation du jeu de données
-
Dans Journey Optimizer, accédez à Gestion des données
>Jeux de données. -
Activez le bouton Afficher les jeux de données système et ouvrez le Jeu de données d’événement de retour de message AJO.
Notez le nom exact de la table qui s’affiche sur la page de détails. Les requêtes ci-dessous utilisent ajo_message_feedback_event_dataset, remplacez-la par votre nom de table réel s’il diffère. Pour les champs de ce jeu de données, voir Référence du schéma Adobe Journey Optimizer 🔗.
Requête par ID d’activité dynamique
Utilisez cette option lorsque vous connaissez l’ID d’activité dynamique (par exemple, un UUID de commande ou un ID de suivi d’expédition) et que vous souhaitez que chaque événement de retour lui soit associé tout au long du cycle de vie.
SELECT
timestamp,
identitymap,
_experience.customerJourneyManagement
.messageDeliveryfeedback.feedbackStatus AS status,
_experience.customerJourneyManagement
.messageDeliveryfeedback.messageFailure.reason AS failure_reason,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.event AS la_event,
_experience.customerJourneyManagement
.messageExecution.campaignID AS campaign_id,
_experience.customerJourneyManagement
.messageExecution.batchInstanceID AS batch_id,
_id
FROM ajo_message_feedback_event_dataset
WHERE
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.liveActivityID
= '<YOUR_LIVE_ACTIVITY_ID>'
AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
Requête par ECID
Utilisez cette option lorsque l’ECID du profil affecté est connu. Remplacez <YOUR_ECID> par la valeur ECID récupérée à partir du profil.
SELECT
timestamp,
_experience.customerJourneyManagement
.messageDeliveryfeedback.feedbackStatus AS status,
_experience.customerJourneyManagement
.messageDeliveryfeedback.messageFailure.reason AS failure_reason,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.event AS la_event,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.liveActivityID AS la_id,
_experience.customerJourneyManagement
.messageExecution.campaignID AS campaign_id,
_id
FROM ajo_message_feedback_event_dataset
WHERE
identityMap['ECID'][0].id = '<YOUR_ECID>'
AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
identityMap est un type MAP structuré, et non une chaîne. Utilisez la syntaxe de tableau et d'accesseur struct indiquée ci-dessus. Les fonctions de chaîne telles que LIKE renvoient une erreur DATATYPE_MISMATCH.identityMap. Si le profil affecté est identifié par un espace de noms personnalisé plutôt que par un ECID, résolvez d’abord l’ECID : accédez à Profils dans AEP, recherchez le profil à l’aide de l’espace de noms personnalisé et de la valeur d’identité, puis récupérez l’ECID à partir des détails d’identité du profil. Utilisez cette valeur ECID dans la requête ci-dessus.valeurs feedbackStatus
senterrorfailure_reason pour plus de détailsdenylistexcludedelayduplicatebouncela_event champ , le jeu de données enregistre remotestart, et non start, pour les événements de diffusion initiaux. Filtrez en conséquence lors de l’interrogation par type d’événement.Interprétation du statut d’envoi interpreting-the-sent-status
Une feedbackStatus de sent confirme que Journey Optimizer a correctement transmis la notification au fournisseur push (APNs sur iOS, FCM sur Android). Cela ne confirme pas que l’activité En direct a été générée sur l’appareil.
Le jeu de données ne confirme pas le rendu de l’appareil après la remise au fournisseur push. Les échecs côté appareil, tels qu’une restriction du système d’exploitation, une interruption du réseau entre le fournisseur et l’appareil ou la limite de durée d’activité active de 8 heures atteinte sur iOS, ne sont pas observables à partir du jeu de données.
Si feedbackStatus est sent mais qu’aucune activité Live ne s’affiche sur l’appareil, étudiez le comportement en dehors du pipeline de diffusion Journey Optimizer. Utilisez la journalisation au niveau de l’application ou d’Assurance, y compris les logcat sur Android, pour diagnostiquer le comportement côté appareil.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page provides a systematic approach to diagnose why Live activities fail to appear, update, or end even when the API returns HTTP 200, covering profile and token, campaign configuration, payload, and delivery issues for unitary and broadcast use cases on iOS and Android.
Intents:
- Distinguish the unitary (API-triggered Transactional) and broadcast (API-triggered Marketing) debugging paths
- Verify profile existence and Live activity push token sync (Scenario 1)
- Validate campaign surface, Activity type, and API payload structure (Scenario 2)
- Analyze delivery failures via campaign reports and
message.feedbackevents (Scenario 3) - Diagnose unsynced iOS update tokens (Scenario 4) and check unitary execution status via the GET Message Execution API (Scenario 5)
- Troubleshoot broadcast payload and audience-freshness issues (Scenarios 6 and 7) and query the feedback dataset directly (Advanced)
Glossary:
-
pushNotificationDetails: The AEP profile attribute used for Android FCM registration-token details, includingappId,platform, anddenylisted(product-specific) -
topic_name: The FCM topic subscribed to by target Android devices for broadcast Live activities (product-specific) -
Push-to-start token: An iOS APNs token used for remote start; registered by the mobile SDK and stored on the AEP profile (product-specific)
-
Update token: A per-instance APNs token generated when an iOS Live activity starts; required for iOS unitary
updateandendevents. Android uses the same FCM registration token for start, update, and end; no separate update token is required (product-specific) -
input-push-channel: A unique channel identifier created on the Apple Developer Portal for iOS broadcast Live activities (product-specific) -
liveActivityData: A required property on the Adobe SDKLiveActivityAttributesprotocol; the iOS examples includeliveActivityIDfor unitary orchannelIDfor broadcast (product-specific) -
channelID: The value inliveActivityData.channelID; must exactly matchinput-push-channelfor iOS broadcasts (product-specific) -
attributeType / attributes-type: The name of the Swift
ActivityAttributesstruct; stored asattributeType(camelCase) on the profile and sent asattributes-type(hyphenated) in APS JSON — the same value in different representations (product-specific) -
liveActivityPushNotificationDetails: The AEP profile attribute that stores a device’s push-to-start token,appId,platform, andattributeType(product-specific) -
APS payload: The iOS JSON structure sent under
context.requestPayload.aps, containing the event,content-state, and control fields;attributesincludes the iOS struct fields for start events (product-specific) -
Assurance: A debugging tool limited to test devices connected during an active session; use dataset queries for production end-user diagnostics (product-specific)
-
topic_name(Android): The shared FCM topic through which subscribed devices receive broadcast events; the Android equivalent of iOSinput-push-channel -
notification_id(Android): Client-generated identifier for a Live activity instance; keep it unchanged across start, update, and end events to target the same instance -
timestamp(Android): Message ordering key, expressed in epoch seconds -
when(Android): Optional notification display time, expressed in epoch seconds; it does not control message ordering -
dismiss_after(Android): Used only for end events; specifies how many seconds the completed Live activity remains visible before removal
Guardrails:
-
Android audience membership does not subscribe a device to the FCM topic; verify topic subscription separately from audience evaluation.
-
Use API-triggered Transactional campaigns for unitary Live activities and API-triggered Marketing campaigns for broadcasts.
-
The High Throughput option must not be enabled, since it is incompatible with Live activity.
-
Assurance sessions are for test and QA devices only; end-user production devices are not connected to Assurance.
-
Android: unitary Live activities use the same regular FCM push token to start, update, and end, and no separate activity tokens are required; broadcast events reach subscribed devices through the shared FCM topic identified by
topic_name. -
Android
timestampmust strictly increase for every event with the samenotification_id(ortopic_namefor broadcasts); updates are displayed only if their timestamp is newer than the last processed value, and older or equal timestamps are ignored. -
Android
action_type/action_uriare not read by the current Android SDK. -
iOS requirements: a physical iOS device on iOS 16.1 or later; the Xcode Simulator supports local start only (remote push via APNs is not supported on Simulator); remote start from Assurance requires iOS 17.1 or later, a valid push-to-start token, and a valid channel configuration; Adobe Experience Platform Mobile SDK 5.11.0 or later.
-
Batch audiences may be up to 24 hours stale (batch evaluation, once daily); this audience-freshness risk is not applicable to unitary use cases.
-
The first time a Live activity starts on a device, iOS shows a one-time permission prompt; the user must tap “Allow” for update tokens to be generated and synced.
-
For iOS broadcasts,
input-push-channelmust exactly matchliveActivityData.channelID; a mismatch causes delivery failures. -
For iOS, a
feedbackStatusofsentconfirms hand-off to APNs only, not device rendering; device-side failures and the 8-hour Live activity duration limit are not observable from the dataset.
Terminology:
- Canonical name: API Triggered Campaign — Acronym: n/a — campaign types used for Live activities: API-triggered Transactional (unitary), API-triggered Marketing (broadcast)
- Synonyms: “attributeType” = “attributes-type” (the same value; camelCase on the profile, hyphenated in APS JSON)
- Do not confuse:
input-push-channel(in the iOS APS payload) ≠liveActivityData.channelID(in the iOS attributes); their values must match for broadcasts. - Do not confuse: “Push-to-start token” (starts an iOS Live activity, stored on the profile) ≠ “Update token” (updates or ends an iOS unitary instance, per instance)
- Do not confuse: “Unitary” (API-triggered Transactional, individual profile) ≠ “Broadcast” (API-triggered Marketing, audience segment)
- Do not confuse: execution statuses “
PENDING” ≠ “INPROGRESS” ≠ “COMPLETED” ≠ “FAILED” - Do not confuse:
feedbackStatus“sent” ≠ “error” ≠ “exclude” ≠ “delay” - Do not confuse: “
timestamp” (iOS: the current Unix epoch time in seconds for every call; Android: the ordering key that must strictly increase pernotification_idortopic_name) ≠ “when” (Android: optional notification display time that does not control ordering) - Do not confuse:
la_eventvalue “remotestart” (recorded in the dataset for initial delivery) ≠ “start” (theeventfield value in the payload)
FAQ:
- Q: Why does the API return 200 OK but the Live activity does not appear? — A successful response (200 OK) does not guarantee the Live activity appears; the delivery can fail at multiple points, from API request validation through device rendering, so work through Scenarios 1 to 3.
- Q: Can I use Assurance for production end-user devices? — No; Assurance sessions are for test and QA devices only. For production diagnostics, use the dataset queries.
- Q: Why do update and end calls fail after the Live activity started? — The per-instance update token may not be synced; the user must have tapped “Allow” on the one-time permission prompt for update tokens to be generated (Scenario 4).
- Q: How do I check execution status programmatically? — Use the GET Message Execution API; for unitary executions the
executionIdis prefixed withHUOC-, and thestatusfield returnsPENDING,INPROGRESS,COMPLETED, orFAILED. - Q: What does a
feedbackStatusofsentmean on iOS? — It confirms Journey Optimizer successfully handed the notification to APNs; it does not confirm that the Live activity was rendered on the device. - Q: Why are some audience members not receiving a broadcast? — The profile may not be in the audience, or a batch audience snapshot may be up to 24 hours stale; trigger on-demand evaluation or ensure a streaming update occurs (Scenario 7).
Personas:
- marketer: Can open the Reports button on a Live activity Campaign and select View all time report to check Sending Statistics metrics. Can review the Live activity lifecycle section for Remote starts, Updates, Ends, and Totals count figures. The page states that if Send errors are greater than 0, check the Error Reasons table. Where: “Check campaign reports”.
Onboarding:
- Level: Intermediate
- First minimal step: Navigate to Customer, then Profiles, in Journey Optimizer to search for a profile using the namespace and identity value from the API request.
- Success check: The profile is found, and you can continue with the token checks for your platform.
- Previous: Creating the Live activity message before triggering it: Create a Live activity message (mobile-live/create-mobile-live.md)
- Next: Learning more about Live activity campaign reporting metrics: Campaign Live activity report (reports/campaign-global-report-cja-activity.md)