Campagne : la diffusion push affiche un nombre nul de succès dans l’UAT
Les diffusions push dans l’environnement UAT se sont terminées avec un statut Terminé, mais n’ont affiché aucun message traité et réussi. Le problème affectait à la fois les diffusions push iOS et Android et n’était pas reproductible dans d’autres environnements du même client.
Description description
Le workflow de ciblage a pu identifier l’abonnement de l’application, mais la préparation de la diffusion a retourné :
0 destinataire(s) répond(ent) aux critères de segmentation
Cible de diffusion vide
0 message(s) en attente
Le problème a commencé après une date spécifique et s’est produit avec les modèles push personnalisés et par défaut.
La diffusion a utilisé le mapping de ciblage nms:appSubscriptionRcp par défaut, qui nécessite un lien valide vers nms:recipient.
Mapping : Applications abonnées (nms:appSubscriptionRcp)
recipientLink : destinataire
targetSchema : nms:recipient
Il ne s’agit pas d’un chemin de diffusion réservé aux jetons. Bien que la diffusion cible les abonnements à l’application, le mappage attend toujours que chaque abonnement à l’application soit résolu sur un destinataire valide.
La documentation d’Adobe confirme que le mapping de ciblage des notifications push par défaut utilise nms:appSubscriptionRcp et que ce mapping est lié à la table des destinataires. Un autre mapping de ciblage doit être créé lorsque l’implémentation n’utilise pas intentionnellement la relation du destinataire.
Nous avons activé les logs SQL pour la préparation de la diffusion. La préparation SQL a effectué cette jointure :
JOIN NmsAppSubscriptionRcp TGT
ON W0.iId = TGT.iAppSubscriptionRcpId
JOIN NmsRecipient RCP
ON TGT.iRecipientId = RCP.iRecipientId
Dans UAT
- L’enregistrement testé existait en nms:appSubscriptionRcp.
- Le champ recipient-id de l’abonnement à l’application était vide ou nul.
- La jointure à NmsRecipient n’a donc pas pu réussir.
- L’abonnement à l’application a été supprimé de la cible de la diffusion.
- La préparation de la diffusion n’a renvoyé aucun destinataire.
Lorsque la colonne d’identifiant de destinataire a été ajoutée à la vue de données du schéma pour nms:appSubscriptionRcp, les enregistrements UAT ont disparu, car la relation de leur destinataire n’a pas pu être résolue.
La production contenait un enregistrement de destinataire sans ID, ce qui permettait à la jointure de réussir.
Cause principale : l’enquête a découvert que le client avait accidentellement supprimé l’enregistrement Zero ID dans les schémas de destinataires UAT et de développement. Cela a interrompu les jointures externes entre nms:recipient et les schémas associés, y compris nms:appSubscriptionRcp.
Résolution resolution
Restaurez l’enregistrement Zero ID manquant dans les schémas de destinataires UAT et de développement, puis validez que les abonnements à l’application reçoivent le lien de destinataire attendu.
Après la restauration :
- Vérifiez que le @recipient-id est renseigné ou résolu correctement.
- Exécutez une diffusion de notification push de test.
- Vérifiez que la cible contient l’abonnement attendu.
- Vérifiez que le nombre de messages traités et le nombre de succès sont supérieurs à zéro.
Si un ciblage uniquement pour les jetons est requis, créez un mapping de ciblage sans le lien du destinataire.