

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
<a name="sns-msg-status"></a>

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
<a name="sns-msg-console"></a>

1. Connectez-vous à la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

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

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

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

1. 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.

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

1. 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.

1. 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](https://aws.amazon.com/documentation/cloudwatch).

## Exemples de journaux d'état CloudWatch de livraison des messages Amazon SNS
<a name="sns-msg-examples"></a>

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](#platform-returncodes).

## Configuration des attributs d'état de livraison des messages à l'aide du AWS SDKs
<a name="sns-msg-sdk"></a>

Ils [AWS SDKs](https://aws.amazon.com/tools/)fournissent 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'`FailureFeedbackRoleArn`attribut, tous les 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 pour Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html).

## Codes de réponse de la plateforme
<a name="platform-returncodes"></a>

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](https://developer.amazon.com/docs/adm/send-message.html#response-format) dans la documentation ADM. | 
| Service de notification push Apple (APNs) | Voir la réponse HTTP/2 de APNs la section [Communiquer avec APNs](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#/apple_ref/doc/uid/TP40008194-CH11-SW1) dans le guide de programmation des notifications locales et distantes. | 
| Messagerie cloud Firebase (FCM) | Consultez [Codes de réponse aux messages d'erreur en aval](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes) 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](https://msdn.microsoft.com/en-us/library/windows/apps/ff941100%28v=vs.105%29.aspx#BKMK_PushNotificationServiceResponseCodes) 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)](https://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx) dans la documentation Windows 8 Development. | 