Comment résoudre les problèmes liés aux échecs des notifications push mobiles FCM (Firebase Cloud Messaging) dans Amazon SNS ?

Date de la dernière mise à jour : 06/10/2021

Mes notifications push mobiles FCM (Firebase Cloud Messaging) ne parviennent pas à être envoyées via Amazon Simple Notification Service (Amazon SNS). Comment résoudre ce problème ?

Résolution

Configurez et affichez les attributs du statut de diffusion des notifications push pour Amazon CloudWatch Logs

Vérifiez si vous pouvez recevoir des notifications directement de FCM

Pour savoir si le problème est du côté du point de terminaison Amazon SNS ou du côté de l'application cliente, envoyez un message test sur la console FCM. Pour obtenir des instructions, consultez Envoyer un message de notification (pour iOS) ou Envoyer un message de notification test (pour Android) dans la documentation FCM.

Après avoir envoyé la notification test, la console FCM affiche un panneau qui fournit les résultats de la notification test. Si vous ne recevez pas la notification, suivez les instructions contenues dans la section Confirmer que vous utilisez le type de message FCM approprié de cet article.

Vérifiez si le point de terminaison de plateforme associé à l'appareil qui ne reçoit pas les notifications push est activé

1.    Consultez vos journaux de statuts de livraison pour les livraisons de notifications push ayant échoué ("status" : "FAILURE") [(« statut » : « ÉCHEC »)].

2.    Vérifiez si les journaux de livraison des notifications push ayant échoué ont la valeur suivante : "providerResponse": "Endpoint is disabled" (« providerResponse » : « le point de terminaison est désactivé »). Si vous voyez cette valeur dans les journaux de livraison ayant échoué, le point de terminaison de plateforme associé à l'appareil qui ne reçoit pas les notifications push est désactivé.

3.    Si le point de terminaison de plateforme est désactivé, réactivez-le en exécutant l'action API SetEndpointAttributes. L'exécution de l'action API SetEndpointAttributes associe le point de terminaison au dernier jeton d'appareil valide.

Remarque : pour plus d'informations, consultez Réactivation d'un point de terminaison de plateforme associé à un jeton d'appareil non valide dans la section Dépannage de Création d'un point de terminaison de plateforme.

Exemple d'évènement de journal CloudWatch de livraison des notifications push FCM ayant échoué

{
  "notification": {
    "messageMD5Sum": "c8c339cf07dc39c9388253dgc81f257",
    "messageId": "fg207f98-0244-6767-96e2-45b1fg451gg8",
    "timestamp": "2021-05-25 22:27:51.889"
  },
  "delivery": {
    "deliveryId": "76ab7dcd-f444-5b4f-9d1b-24ea8863d9bc",
    "destination": "arn:aws:sns:us-east-1:123456789101:endpoint/GCM/MyAndroidApp/682dc992-a47f-45f7-b980-97727cce0a9c",
    "providerResponse": "Endpoint is disabled",
    "dwellTimeMs": 28,
    "attempts": 1,
    "token": "ojnco9nc9weucn9encx9ewunc9nu9w9euncec9necn9xexnexex9encewcerve0f0o0dmco9j",
    "statusCode": 400
  },
  "status": "FAILURE"
}

Vérifiez que vous utilisez le type de message FCM approprié

Remarque : FCM prend en charge deux types de messages : les messages de notification et les messages de données. Les messages de notification sont gérés automatiquement par le kit SDK FCM. Les messages de données sont gérés par l'application cliente. Pour plus d'informations, consultez Types de messages dans la documentation FCM, ainsi qu'Envoi de messages spécifiques à la plateforme dans le guide du développeur Amazon SNS.

Si vous traitez les données de messages sur votre application cliente

Assurez-vous d'utiliser les messages de données. Pour plus d'informations, consultez Messages de données dans la documentation FCM.

Si vous souhaitez que le kit SDK FCM gère l'affichage des notifications au nom de votre application cliente

Assurez-vous d'utiliser les messages de notification. Pour plus d'informations, consultez Messages de notification dans la documentation FCM.

Identifiez et résolvez les codes de réponse d'erreurs FCM

1.    Consultez vos journaux de statuts de livraison pour les livraisons de notifications push ayant échoué ("status" : "FAILURE") [(« statut » : « ÉCHEC »)].

2.    Consultez les journaux de livraison des notifications push ayant échoué pour rechercher d'autres codes de réponse de la plateforme. Suivez ensuite l'action recommandée répertoriée pour ce code dans la section Codes de réponse d'erreurs de messages en aval de la documentation FCM.

Remarque : pour plus d'informations sur les codes d'erreurs FCM et les bonnes pratiques de dépannage, consultez ErrorCode dans la documentation FCM.


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


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