Comment résoudre les échecs de livraison de notification push Amazon SNS ?

Dernière mise à jour : 21/12/2020

Comment puis-je vérifier le statut de diffusion d'Amazon Simple Notification Service (Amazon SNS) des notifications push et déterminer les raisons pour lesquelles certaines notifications échouent ?

Brève description

Lorsque vous activez la journalisation de l'état de livraison Amazon SNS pour votre application de plate-forme, vos transactions de notification push sont enregistrées avec Amazon CloudWatch Logs. Les journaux incluent les livraisons réussies et les livraisons ayant échoué.

Résolution

Activer la journalisation des statuts de diffusion

  1. Ouvrez la console Amazon SNS.
  2. Ouvrez le menu de navigation de gauche, développez Mobile, puis sélectionnez Notifications push.
  3. Sous Applications de plateforme, sélectionnez l'application de plateforme dont vous souhaitez activer les statuts de diffusion, puis sélectionnez Modifier.
  4. Développez Delivery status logging – optional (Journalisation des statuts de diffusion - facultatif), puis sélectionnez Create new service role (Créer un rôle de service).
  5. Sélectionnez Create new roles (Créer des rôles). La page de la console AWS Identity and Access Management (IAM) s'ouvre dans un nouvel onglet ou une nouvelle fenêtre.
  6. Dans la page de demande d'autorisation de la console IAM sélectionnez Autoriser.
  7. Sélectionnez Enregistrer les modifications.

Remarque : vous pouvez également activer le statut de diffusion à l'aide des kits SDK AWS et de l'interface de ligne de commande (AWS CLI). Si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Afficher les journaux des statuts de livraison

  1. Ouvrez la console CloudWatch.
  2. Dans le volet de navigation de gauche, sélectionnez Journaux.
  3. Sous Groupes de journaux, recherchez les journaux de statut de diffusion de votre application.

Remarque : les journaux de statut de livraison ne sont pas disponibles tant que les messages n'ont pas été publiés dans un point de terminaison. Pour les notifications push, une publication est réussie lorsqu'Amazon SNS remet le message au fournisseur. Cependant, ce transfert ne garantit pas que la notification a été envoyée à l'appareil.

En fonction du type d'application, il se peut que vous voyiez deux groupes de journaux : un pour les notifications réussies et un pour celles qui ont échoué. Les journaux de Firebase Cloud Messaging (FCM) et le service Apple Push Notification (APN) se trouvent dans des groupes de journaux nommés comme dans l'exemple suivant :

sns/us-east-1/123456789012/app/platform_name/application_name/

« Failure » (Échec) est ajouté à une entrée de journal si la diffusion a échoué. Par exemple:

sns/us-east-1/123456789012/app/platform_name/application_name/Failure

Parmi les informations des journaux figurent messageId (ID de message), statusCode (code d'état), le temps nécessaire (dwellTimeMs), le point de terminaison de destination (destination) et providerResponse (réponse du fournisseur). Pour obtenir des exemples de journaux, consultez Exemples de journaux CloudWatch d'état de remise des messages Amazon SNS.

Résolution des échecs de notification

Consultez le statusCode (code de statut) du service du fournisseur, tels que FCM ou les APN. Pour connaître le message de réponse précis du fournisseur, affichez la providerResponse (réponse du fournisseur).


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?