

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Attributi dell'app mobile Amazon SNS
<a name="sns-msg-status"></a>

Amazon Simple Notification Service (Amazon SNS) fornisce supporto per la registrazione dello stato di consegna dei messaggi di notifica push. Dopo aver configurato gli attributi dell'applicazione, le voci di registro verranno inviate a CloudWatch Logs per i messaggi inviati da Amazon SNS agli endpoint mobili. La registrazione dello stato di consegna dei messaggi consente di ottenere informazioni operative più precise, ad esempio: 
+ Sapere se un messaggio di notifica push è stato consegnato da Amazon SNS al servizio di notifica push.
+ Identificare la risposta inviata dal servizio di notifica push a Amazon SNS.
+ Determinare il tempo di attesa dei messaggi (il periodo di tempo tra il timestamp di pubblicazione e l'istante immediatamente precedente alla consegna a un servizio di notifica push).

 Per configurare gli attributi dell'applicazione per lo stato di consegna dei messaggi, puoi utilizzare i Console di gestione AWS kit di sviluppo AWS software (SDKs) o l'API di interrogazione. 

## Configurazione degli attributi dello stato di recapito dei messaggi utilizzando Console di gestione AWS
<a name="sns-msg-console"></a>

1. Accedi alla [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Nel riquadro di navigazione, scegliere **Mobile (Dispositivi mobili)**, **Push notifications (Notifiche push)**.

1. Nella sezione **Applicazioni della piattaforma**, scegli l'applicazione che contiene gli endpoint per i quali desideri ricevere CloudWatch i registri.

1. Scegli **Application Actions (Operazioni applicazione)**, quindi scegli **Delivery status (Stato consegna)**.

1. Nella finestra di dialogo **Delivery Status (Stato consegna)**, scegli **Create IAM Roles (Crea ruoli IAM)**.

   Si viene reindirizzati alla console IAM.

1. Scegli **Consenti per consentire** ad Amazon SNS l'accesso in scrittura per utilizzare CloudWatch i log per tuo conto.

1. Ora, tornando alla finestra di dialogo **Delivery Status**, inserisci un numero nel campo **Percentuale di successo su campione (0-100)** per indicare la percentuale di messaggi inviati con successo per i quali desideri ricevere i log. CloudWatch 
**Nota**  
Dopo aver configurato gli attributi dell'applicazione per lo stato di consegna dei messaggi, tutti i recapiti dei messaggi non riusciti generano registri. CloudWatch 

1. Infine scegli **Save Configuration (Salva configurazione)**. Ora sarai in grado di visualizzare e analizzare i CloudWatch registri contenenti lo stato di consegna dei messaggi. [Per ulteriori informazioni sull'utilizzo CloudWatch, consulta la CloudWatch documentazione.](https://aws.amazon.com/documentation/cloudwatch)

## Esempi di log sullo stato CloudWatch di consegna dei messaggi di Amazon SNS
<a name="sns-msg-examples"></a>

Dopo aver configurato gli attributi dello stato di consegna dei messaggi per un endpoint dell'applicazione, verranno CloudWatch generati i log. Di seguito vengono forniti degli esempi di log in formato JSON:

**RIUSCITO**

```
{
  "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"
  }
}
```

**NON RIUSCITO**

```
{
  "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"
  }
}
```

Per un elenco dei codici di risposta dei servizi di notifica push, consulta [Codici di risposta della piattaforma](#platform-returncodes).

## Configurazione degli attributi dello stato di consegna dei messaggi con AWS SDKs
<a name="sns-msg-sdk"></a>

[AWS SDKs](https://aws.amazon.com/tools/)Forniscono APIs in diverse lingue per l'utilizzo degli attributi dello stato di consegna dei messaggi con Amazon SNS. 

L'esempio Java seguente mostra come utilizzare l'API `SetPlatformApplicationAttributes` per configurare attributi di applicazione per lo stato di consegna dei messaggi di notifica push. Puoi utilizzare i seguenti attributi per lo stato di consegna dei messaggi: `SuccessFeedbackRoleArn`, `FailureFeedbackRoleArn` e `SuccessFeedbackSampleRate`. `FailureFeedbackRoleArn`Gli attributi `SuccessFeedbackRoleArn` and vengono utilizzati per consentire ad Amazon SNS l'accesso in scrittura per utilizzare CloudWatch i log per tuo conto. L'attributo `SuccessFeedbackSampleRate` consente di specificare la percentuale della frequenza di campionamento (0-100) dei messaggi consegnati. Dopo aver configurato l'`FailureFeedbackRoleArn`attributo, tutte le consegne di messaggi non riuscite generano log. CloudWatch 

```
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);
```

Per ulteriori informazioni su SDK per Java, consulta [Nozioni di base su AWS SDK per Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html).

## Codici di risposta della piattaforma
<a name="platform-returncodes"></a>

Di seguito viene fornito un elenco dei collegamenti per i codici di risposta dei servizi di notifica push:


****  

| Servizio di notifiche push | Codice di risposta | 
| --- | --- | 
| Amazon Device Messaging (ADM) | Vedi [Formato di risposta](https://developer.amazon.com/docs/adm/send-message.html#response-format) nella documentazione ADM. | 
| Servizio di notifica push Apple () APNs | Vedi la risposta HTTP/2 APNs in [Comunicazione con APNs nella Guida](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#/apple_ref/doc/uid/TP40008194-CH11-SW1) alla programmazione delle notifiche locali e remote. | 
| Firebase Cloud Messaging (FCM) | Vedi [Codici di risposta a messaggi di errore downstream](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes) nella documentazione di Firebase Cloud Messaging. | 
| Servizio di notifica push Microsoft per Windows Phone (MPNS) | Vedi [Push Notification Service Response Codes for Windows Phone 8](https://msdn.microsoft.com/en-us/library/windows/apps/ff941100%28v=vs.105%29.aspx#BKMK_PushNotificationServiceResponseCodes) nella documentazione di Windows 8 Development. | 
| Windows Push Notification Services (WNS) | Vedi "Codici di risposta" in [Intestazioni delle richieste e delle risposte per il servizio di notifica Push (app di Windows Runtime)](https://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx) nella documentazione di sviluppo per Windows 8. | 