

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

# Integração de tokens de dispositivos com o Amazon SNS para notificações móveis
<a name="mobile-push-send-devicetoken"></a>

Quando você registra pela primeira vez um aplicativo e um dispositivo móvel em um serviço de notificação, como o Apple Push Notification Service (APNs) e o Firebase Cloud Messaging (FCM), os tokens ou o registro do dispositivo IDs são devolvidos pelo serviço. Eles tokens/IDs são adicionados ao Amazon SNS para criar um endpoint para o aplicativo e o dispositivo, usando a API. [https://docs.aws.amazon.com/sns/latest/api/API_PlatformApplication.html](https://docs.aws.amazon.com/sns/latest/api/API_PlatformApplication.html) Depois que o endpoint é criado, um [https://docs.aws.amazon.com/sns/latest/api/API_Endpoint.html](https://docs.aws.amazon.com/sns/latest/api/API_Endpoint.html) é retornado, que o Amazon SNS usa para direcionar as notificações para o aplicativo/dispositivo correto.

Você pode adicionar tokens de dispositivo ou registro IDs no Amazon SNS das seguintes formas:
+ Adicione manualmente um único token por meio do Console de gerenciamento da AWS
+ Faça upload de vários tokens usando a API [https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html](https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html)
+ Registre tokens para futuros dispositivos

****Para adicionar manualmente um token de dispositivo ou ID de registro****

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

1. No painel de navegação, selecione **Notificações por push**.

1. Na seção **Aplicações de plataforma**, selecione sua aplicação e escolha **Editar**. Se você ainda não criou uma aplicação de plataforma, siga o guia [Criar uma aplicação da plataforma Amazon SNS](mobile-push-send-register.md) para fazer isso agora.

1. Escolha **Criar endpoint**.

1. Na caixa **Token de endpoint**, insira o **token** ou o **ID de registro**, dependendo do serviço de notificação que você está usando (por exemplo, ID de registro do FCM).

1. (Opcional) Insira dados adicionais no campo **Dados do usuário**. Esses dados devem ter codificação UTF-8 e ter menos de 2 KB.

1. Escolha **Criar endpoint**.

Com o endpoint criado, você pode enviar mensagens diretamente para o dispositivo móvel ou para dispositivos móveis que estejam inscritos em um tópico do Amazon SNS.

****Como fazer o upload de vários tokens usando a API `CreatePlatformEndpoint`****

As etapas a seguir mostram como usar o aplicativo Java de amostra (`bulkupload`pacote) fornecido pela AWS para fazer upload de vários tokens (tokens de dispositivo ou registro IDs) no Amazon SNS. Você pode usar esse aplicativo de amostra para ajudá-lo a começar a fazer upload de tokens existentes. 
**nota**  
As etapas a seguir usam o IDE para Java Eclipse. As etapas pressupõem que você tenha instalado o AWS SDK para Java e tenha as credenciais AWS de segurança do seu Conta da AWS. Para obter mais informações, consulte [AWS SDK para Java](https://aws.amazon.com/sdkforjava/). Para obter mais informações sobre credenciais, consulte [Credenciais de segurança da AWS](https://docs.aws.amazon.com/general/latest/gr/getting-aws-sec-creds.html) no *Guia do usuário do IAM*. 

1. Faça o download e descompacte o arquivo [snsmobilepush.zip](samples/snsmobilepush.zip). 

1. Crie um novo **projeto Java** no Eclipse e importe a pasta `SNSSamples` para o projeto. 

1. Faça o download da [biblioteca OpenCSV](http://sourceforge.net/projects/opencsv/) e adicione-a ao caminho da compilação.

1. No arquivo `BulkUpload.properties`, especifique o seguinte: 
   + Seu `ApplicationArn` (ARN da aplicação de plataforma).
   + O caminho absoluto para o local do arquivo CSV que contém os tokens.
   + Registrando em log nomes de arquivos para tokens bem-sucedidos e com falha. Por exemplo, `goodTokens.csv` e `badTokens.csv`.
   + (Opcional) Uma configuração para delimitador, caractere de aspa e número de segmentos a serem usados.

   O `BulkUpload.properties` completo deve ser semelhante ao seguinte:

   ```
   applicationarn: arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp
   csvfilename: C:\\mytokendirectory\\mytokens.csv
   goodfilename: C:\\mylogfiles\\goodtokens.csv
   badfilename: C:\\mylogfiles\\badtokens.csv
   delimiterchar: ','
   quotechar: '"'
   numofthreads: 5
   ```

1.  Execute o **BatchCreatePlatformEndpointSampleaplicativo.java** para fazer o upload dos tokens para o Amazon SNS. Os tokens enviados com sucesso serão registrados em log em `goodTokens.csv`, enquanto os tokens malformados serão registrados em log em `badTokens.csv`.

**Como registrar tokens de dispositivos para futuras instalações de aplicativos**

Existem duas opções para esse processo:

**Usar o serviço do Amazon Cognito**  
Seu aplicativo móvel pode usar credenciais de segurança temporárias para criar endpoints. O Amazon Cognito é recomendado para gerar credenciais temporárias. Para obter mais informações, consulte o *[Guia do desenvolvedor do Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/)*.   
Para rastrear [registros](application-event-notifications.md) de aplicativos, use os eventos do Amazon SNS para receber notificações quando um novo ARNs endpoint for criado.  
Como alternativa, você pode usar a API [https://docs.aws.amazon.com/sns/latest/api/API_ListEndpointsByPlatformApplication.html](https://docs.aws.amazon.com/sns/latest/api/API_ListEndpointsByPlatformApplication.html) para recuperar a lista de endpoints registrados.

**Usar um servidor de proxy**  
Se a infraestrutura do seu aplicativo já for compatível com o registro de dispositivos na instalação, você poderá usar seu servidor como proxy. Ele encaminhará os tokens do dispositivo para o Amazon SNS por meio da API [https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html](https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html).  
O ARN do endpoint criado pelo Amazon SNS será retornado e poderá ser armazenado pelo seu servidor para futura publicação de mensagens.