Attributs des applications mobile - Amazon Simple Notification Service

Attributs des applications mobile

Amazon Simple Notification Service (Amazon SNS) prend en charge la journalisation de l'état de diffusion des messages de notification push. Une fois que vous avez configuré les attributs d'application, les entrées de journal seront envoyées à CloudWatch Logs pour les messages envoyés aux points de terminaison mobiles à partir d'Amazon SNS. 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 d'application pour l'état de diffusion du message, vous pouvez utiliser la AWS Management Console, les kits de développement logiciel (SDK) AWS ou l'API de requête.

Configuration des attributs de l'état de diffusion du message à l'aide de AWS Management Console

  1. Connectez-vous à la console Amazon SNS.

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

  3. Depuis la section Applications de plateforme, choisissez l'application qui contient les points de terminaison pour lesquels vous voulez recevoir les CloudWatch Logs.

  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. Sélectionnez Autoriser pour permettre à Amazon SNS d'accéder en écriture aux CloudWatch Logs en votre nom.

  7. Maintenant, de retour dans la boîte de dialogue Statut de diffusion, saisissez un nombre dans le champ Pourcentage de réussites à échantillonner (0 à 100) pour indiquer le pourcentage de messages envoyés pour lequel vous souhaitez recevoir des CloudWatch Logs.

    Note

    Une fois que vous avez configuré les attributs d'application pour l'état de diffusion du message, toutes les diffusions de message ayant échoué génèrent des CloudWatch Logs.

  8. Enfin, sélectionnez Enregistrer la configuration. Vous êtes maintenant en mesure d'afficher et d'analyser les CloudWatch Logs contenant l'état de diffusion du message. Pour plus d'informations sur l'utilisation de CloudWatch, consultez la documentation CloudWatch.

Exemples de journal CloudWatch d'état de remise des messages Amazon SNS

Une fois que vous avez configuré les attributs de l'état de diffusion du message pour un point de terminaison d'application, des CloudWatch Logs 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 de l'état de diffusion du message avec les kits SDK AWS

Les kits SDK AWS fournissent des API dans plusieurs langages pour utiliser les attributs de l'état de diffusion du message 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 attributs SuccessFeedbackRoleArn et FailureFeedbackRoleArn sont utilisés pour permettre à Amazon SNS d'accéder en écriture aux 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'attribut FailureFeedbackRoleArn, toutes les diffusions de message qui ont échoué génèrent des CloudWatch Logs.

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.
Apple Push Notification service (APNs). Consultez HTTP/2 Response from APNs dans la section Communicating with APNs du manuel Local and Remote Notification Programming Guide.
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.