Atributos de aplicativo móvel - Amazon Simple Notification Service

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

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. Após configurar os atributos da aplicação, as entradas de log 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 da aplicação para o status de entrega de mensagens, você pode usar o AWS Management Console, os AWS Software Development Kits (SDKs) ou a API de consulta.

Configurar atributos de status de entrega de mensagens com o AWS Management Console

  1. Faça login no console do Amazon SNS.

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

  3. Na seção Platform Applications (Aplicações de plataforma), escolha a aplicação que contém os endpoints para os quais você deseja receber o CloudWatch Logs.

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

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

  6. Escolha Allow (Permitir) para conceder ao Amazon SNS o acesso de gravação para usar o CloudWatch Logs em seu nome.

  7. Volte para a caixa de diálogo Delivery Status (Status de entrega) e insira um número no campo Percentage of Success to Sample (0-100) (Porcentagem de sucesso de amostragem (0-100)) para a porcentagem de mensagens bem-sucedidas enviadas para as quais você deseja receber CloudWatch Logs.

    nota

    Depois de configurar os atributos da aplicação para o status da entrega de mensagens, todas as entregas de mensagens com falha geram CloudWatch Logs.

  8. Finalmente, escolha Save Configuration (Salvar configuração). Agora, você será capaz de visualizar e analisar o CloudWatch Logs contendo o status de entrega de mensagens. Para obter mais informações sobre o uso do CloudWatch, consulte a Documentação do CloudWatch.

Exemplos de CloudWatch Logs do status de entrega de mensagens do Amazon SNS

Após a configuração dos atributos de status de entrega de mensagens para um endpoint de aplicação, o CloudWatch Logs será gerado. 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.

Configurar atributos de status de entrega de mensagens com AWS SDKs

Os AWS SDKs fornecem APIs em várias linguagens para usar 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 atributos SuccessFeedbackRoleArn e FailureFeedbackRoleArn são usados para conceder acesso de gravação ao Amazon SNS para usar o CloudWatch Logs em seu nome. O atributo SuccessFeedbackSampleRate é para especificar a porcentagem de taxa de amostra (0-100) de mensagens bem-sucedidas. Após configurar o atributo FailureFeedbackRoleArn, todas as entregas de mensagens com falha geram 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);

Para obter mais informações sobre o SDK para Java, consulte Getting Started with the AWS SDK for Java (Conceitos básicos do AWS SDK for Java).

Códigos de resposta da plataforma

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 (“Formato de resposta”) na documentação do ADM.
Apple Push Notification Service (APNs) Consulte Resposta HTTP/2 de APNs em Comunicação com APNs no Guia de programação de notificação local e remota.
Firebase Cloud Messaging (FCM) Consulte Códigos de respostas de erros de mensagens downstream 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 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) na documentação de desenvolvimento do Windows 8.