

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Atributos de aplicativo móvel do Amazon SNS
<a name="sns-msg-status"></a>

O Amazon Simple Notification Service (Amazon SNS) oferece suporte para o registro em log do status de entrega das mensagens de notificação por push. Depois de configurar os atributos do aplicativo, as entradas de registro serão enviadas ao CloudWatch Logs para mensagens enviadas do Amazon SNS para endpoints móveis. O registro de status de entrega de mensagens proporciona um melhor insight operacional, por exemplo: 
+ Saiba se uma mensagem de notificação por push foi entregue do Amazon SNS para o serviço de notificações por push.
+ Identifique a resposta enviada do serviço de notificações por push para o Amazon SNS.
+ Determinar o tempo de permanência da mensagem (o tempo entre o carimbo de data e hora da publicação e antes do envio para um serviço de notificações por push).

 Para configurar os atributos do aplicativo para o status de entrega de mensagens, você pode usar os Console de gerenciamento da AWS kits de desenvolvimento de AWS software (SDKs) ou a API de consulta. 

## Configurando atributos de status de entrega de mensagens usando o Console de gerenciamento da AWS
<a name="sns-msg-console"></a>

1. Faça login no [console do Amazon SNS](https://console.aws.amazon.com/sns/home).

1. No painel de navegação, aponte para **Mobile** (Dispositivos móveis), em seguida escolha **Push notifications** (Notificações por push).

1. Na seção **Aplicativos da plataforma**, escolha o aplicativo que contém os endpoints para os quais você deseja receber CloudWatch registros.

1. Escolha **Application Actions (Ações do aplicativo)** e, em seguida, selecione **Delivery status (Status de entrega)**.

1. Na caixa de diálogo **Delivery Status (Status da entrega)**, escolha **Create IAM Roles (Criar funções do IAM)**.

   Você será redirecionado para o console do IAM.

1. Escolha **Permitir** para dar ao Amazon SNS acesso de gravação para usar CloudWatch os registros em seu nome.

1. Agora, de volta à caixa de diálogo **Status de entrega**, insira um número no campo **Porcentagem de sucesso na amostra (0-100)** para a porcentagem de mensagens bem-sucedidas enviadas para as quais você deseja receber CloudWatch registros.
**nota**  
Depois de configurar os atributos do aplicativo para o status de entrega de mensagens, todas as entregas de mensagens com falha geram CloudWatch registros.

1. Finalmente, escolha **Save Configuration (Salvar configuração)**. Agora você poderá visualizar e analisar os CloudWatch registros que contêm o status de entrega da mensagem. Para obter mais informações sobre o uso CloudWatch, consulte a [CloudWatchdocumentação](https://aws.amazon.com/documentation/cloudwatch).

## Exemplos de registros de status CloudWatch de entrega de mensagens do Amazon SNS
<a name="sns-msg-examples"></a>

Depois de configurar os atributos de status de entrega de mensagens para um endpoint do aplicativo, CloudWatch os registros serão gerados. Exemplos de logs, no formato JSON, são exibidos da seguinte forma:

**SUCCESS**

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

**FAILURE**

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

Para obter uma lista de códigos de resposta do serviço de notificação por push, consulte [Códigos de resposta da plataforma](#platform-returncodes).

## Configurando atributos de status de entrega de mensagens com o AWS SDKs
<a name="sns-msg-sdk"></a>

Eles [AWS SDKs](https://aws.amazon.com/tools/)fornecem APIs em vários idiomas o uso de atributos de status de entrega de mensagens com o Amazon SNS. 

O seguinte exemplo Java mostra como usar a API `SetPlatformApplicationAttributes` para configurar atributos de aplicativo para status de entrega de mensagens para as mensagens de notificação por push. Você pode usar os seguintes atributos para o status de entrega de mensagens: `SuccessFeedbackRoleArn`, `FailureFeedbackRoleArn` e `SuccessFeedbackSampleRate`. Os `FailureFeedbackRoleArn` atributos `SuccessFeedbackRoleArn` e são usados para dar ao Amazon SNS acesso de gravação para usar CloudWatch Logs em seu nome. O atributo `SuccessFeedbackSampleRate` é para especificar a porcentagem de taxa de amostra (0-100) de mensagens bem-sucedidas. Depois de configurar o `FailureFeedbackRoleArn` atributo, todas as entregas de mensagens com falha geram CloudWatch registros. 

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

Para obter mais informações sobre o SDK para Java, consulte [Conceitos básicos do AWS SDK para Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html).

## Códigos de resposta da plataforma
<a name="platform-returncodes"></a>

A seguir, uma lista de links para os códigos de resposta do serviço de notificação por push:


****  

| Serviço de notificação por push | Códigos de resposta | 
| --- | --- | 
| Amazon Device Messaging (ADM) | Consulte [Response Format](https://developer.amazon.com/docs/adm/send-message.html#response-format) (“Formato de resposta”) na documentação do ADM. | 
| Serviço de notificação push da Apple (APNs) | Consulte a resposta HTTP/2 de APNs em [Comunicação com APNs](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#/apple_ref/doc/uid/TP40008194-CH11-SW1) no Guia de programação de notificações locais e remotas. | 
| Firebase Cloud Messaging (FCM) | Consulte [Códigos de respostas de erros de mensagens downstream](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes) na documentação do Firebase Cloud Messaging. | 
| Microsoft Push Notification Service for Windows Phone (MPNS) | Consulte [Códigos de resposta do Serviço de notificação por push para Windows Phone 8](https://msdn.microsoft.com/en-us/library/windows/apps/ff941100%28v=vs.105%29.aspx#BKMK_PushNotificationServiceResponseCodes) na documentação de desenvolvimento do Windows 8. | 
| Windows Push Notification Services (WNS) | Consulte "Códigos de resposta" em [Solicitação e cabeçalhos de resposta do Serviço de notificação por push (Aplicativos de tempo de execução do Windows)](https://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx) na documentação de desenvolvimento do Windows 8. | 