Attributs de l'application mobile Amazon SNS - Amazon Simple Notification Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Attributs de l'application mobile Amazon SNS

Amazon Simple Notification Service (Amazon SNS) prend en charge la journalisation de l'état de diffusion des messages de notification push. Après avoir configuré les attributs de l'application, les entrées du journal seront envoyées à CloudWatch Logs pour les messages envoyés depuis Amazon SNS vers les terminaux mobiles. La journalisation du statut de distribution du message permet de fournir des informations opérationnelles plus précises, par exemple :

  • Savoir si un message de notification push a été diffusé au service de notification push à partir d'Amazon SNS.

  • Identifier la réponse envoyée par le service de notification push à Amazon SNS.

  • Déterminer la durée de conservation du message (la durée entre l'horodatage de publication et juste avant sa remise à un service de notification push).

Pour configurer les attributs de l'application en fonction de l'état de livraison des messages AWS Management Console, vous pouvez utiliser les kits de développement AWS logiciel (SDKs) ou l'API de requête.

Configuration des attributs d'état de livraison des messages à l'aide du AWS Management Console

  1. Connectez-vous à la console Amazon SNS.

  2. Dans le panneau de navigation, choisissez Mobile, puis Notifications Push.

  3. Dans la section Applications de plate-forme, choisissez l'application qui contient les points de terminaison pour lesquels vous souhaitez recevoir des CloudWatch journaux.

  4. Choisissez Actions sur l'application, puis Statut de diffusion.

  5. Dans la boîte de dialogue État de la distribution, sélectionnez Créer des rôles IAM.

    Vous serez ensuite redirigé vers la console IAM.

  6. Choisissez Autoriser pour accorder à Amazon SNS l'accès en écriture afin qu'il puisse utiliser CloudWatch Logs en votre nom.

  7. Maintenant, revenez dans la boîte de dialogue État de livraison, entrez un nombre dans le champ Pourcentage de réussite par rapport à l'échantillon (0-100) pour le pourcentage de messages envoyés avec succès pour lesquels vous souhaitez recevoir des CloudWatch journaux.

    Note

    Une fois que vous avez configuré les attributs de l'application pour l'état de livraison des messages, tous les messages ayant échoué génèrent des CloudWatch journaux.

  8. Enfin, sélectionnez Enregistrer la configuration. Vous pouvez désormais consulter et analyser les CloudWatch journaux contenant l'état de livraison des messages. Pour plus d'informations sur l'utilisation CloudWatch, consultez la CloudWatchdocumentation.

Exemples de journaux d'état CloudWatch de livraison des messages Amazon SNS

Une fois que vous avez configuré les attributs d'état de livraison des messages pour un point de terminaison d'application, CloudWatch des journaux sont générés. Les exemples de journaux, au format JSON, se présentent comme suit :

SUCCÈS

{ "status": "SUCCESS", "notification": { "timestamp": "2015-01-26 23:07:39.54", "messageId": "9655abe4-6ed6-5734-89f7-e6a6a42de02a" }, "delivery": { "statusCode": 200, "dwellTimeMs": 65, "token": "Examplei7fFachkJ1xjlqT64RaBkcGHochmf1VQAr9k-IBJtKjp7fedYPzEwT_Pq3Tu0lroqro1cwWJUvgkcPPYcaXCpPWmG3Bqn-wiqIEzp5zZ7y_jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HXrBf9dqaEw", "attempts": 1, "providerResponse": "{\"multicast_id\":5138139752481671853,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1422313659698010%d6ba8edff9fd7ecd\"}]}", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/FCM/FCMPushApp/c23e42de-3699-3639-84dd-65f84474629d" } }

ÉCHEC

{ "status": "FAILURE", "notification": { "timestamp": "2015-01-26 23:29:35.678", "messageId": "c3ad79b0-8996-550a-8bfa-24f05989898f" }, "delivery": { "statusCode": 8, "dwellTimeMs": 1451, "token": "examp1e29z6j5c4df46f80189c4c83fjcgf7f6257e98542d2jt3395kj73", "attempts": 1, "providerResponse": "NotificationErrorResponse(command=8, status=InvalidToken, id=1, cause=null)", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/APNS_SANDBOX/APNSPushApp/986cb8a1-4f6b-34b1-9a1b-d9e9cb553944" } }

Pour obtenir une liste des codes de réponse du service de notification push, consultez la page Codes de réponse de la plateforme.

Configuration des attributs d'état de livraison des messages à l'aide du AWS SDKs

Ils AWS SDKsfournissent APIs en plusieurs langues l'utilisation des attributs d'état de livraison des messages avec Amazon SNS.

L'exemple Java suivant montre comment utiliser l'API SetPlatformApplicationAttributes pour configurer les attributs d'application pour l'état de diffusion des messages de notification push. Vous pouvez utiliser les attributs suivants pour l'état de diffusion du message : SuccessFeedbackRoleArn, FailureFeedbackRoleArn et SuccessFeedbackSampleRate. Les FailureFeedbackRoleArn attributs SuccessFeedbackRoleArn et sont utilisés pour donner à Amazon SNS un accès en écriture lui permettant d'utiliser CloudWatch Logs en votre nom. L'attribut SuccessFeedbackSampleRate permet de spécifier le pourcentage de la fréquence d’échantillonnage (0-100) des messages diffusés avec succès. Une fois que vous avez configuré l'FailureFeedbackRoleArnattribut, toutes les livraisons de messages ayant échoué génèrent des CloudWatch journaux.

SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest = new SetPlatformApplicationAttributesRequest(); Map<String, String> attributes = new HashMap<>(); attributes.put("SuccessFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("FailureFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("SuccessFeedbackSampleRate", "5"); setPlatformApplicationAttributesRequest.withAttributes(attributes); setPlatformApplicationAttributesRequest.setPlatformApplicationArn("arn:aws:sns:us-west-2:111122223333:app/FCM/FCMPushApp"); sns.setPlatformApplicationAttributes(setPlatformApplicationAttributesRequest);

Pour plus d'informations sur le SDK pour Java, consultez Mise en route avec le kit AWS SDK for Java.

Codes de réponse de la plateforme

Voici une liste de liens pour les codes de réponse du service de notification push :

Service de notification push Codes de réponse
Amazon Device Messaging (ADM) Consultez Format de la réponse dans la documentation ADM.
Service de notification push Apple (APNs) Voir la réponse HTTP/2 de APNs la section Communiquer avec APNs dans le guide de programmation des notifications locales et distantes.
Firebase Cloud Messaging (FCM) Consultez Codes de réponse aux messages d'erreur en aval dans la documentation Firebase Cloud Messaging.
Service de notification push Microsoft pour Windows Phone (MPNS) Consultez Codes de réponse du service de notification push pour Windows Phone 8 dans la documentation Windows 8 Development.
Services de notification push Windows (WNS) Consultez « Codes de réponse » dans En-têtes de demande et de réponse du service de notification Push (applications d'exécution Windows) dans la documentation Windows 8 Development.