O FCM é compatível com versões anteriores do GCM. As etapas para configurar o FCM no AWS são idênticas ao procedimento de configuração do GCM e (pelo menos por enquanto) o FCM funciona de forma transparente com o GCM e SNS com relação à configuração do lado do servidor.
No entanto , se você estiver enviando data
cargas úteis para o dispositivo Android, elas não serão processadas, a menos que você implemente um serviço do lado do cliente que se estenda FirebaseMessagingService
. O gerador de mensagem JSON padrão no console da AWS envia data
mensagens, que serão ignoradas pelo seu aplicativo, a menos que o serviço mencionado acima seja implementado. Para contornar isso para o teste inicial, você pode fornecer uma notification
carga útil personalizada que será recebida pelo seu dispositivo (contanto que seu aplicativo não esteja em primeiro plano)
Existem instruções de migração GCM-FCM fornecidas pelo Google, no entanto, as alterações que você precisa fazer são predominantemente no lado do aplicativo.
As etapas que você precisa seguir para testar o GCM / FCM em seu aplicativo com SNS são:
- Crie um aplicativo de plataforma no SNS , selecionando Google Cloud Messaging (GCM) como a plataforma de notificação push e fornecendo sua chave de API do servidor no campo de chave de API .
- Selecione o aplicativo da plataforma e clique no botão Criar terminal da plataforma .
- Forneça o InstanceID ( Device Token ) gerado pelo seu aplicativo. Você deve estender
FirebaseInstanceIDService
e substituir o onTokenRefresh
método para ver isso em seu aplicativo Android. Depois de fazer isso , desinstale e reinstale seu aplicativo e seu token deve ser impresso no console de depuração no Android Studio na primeira inicialização.
- Clique no botão Adicionar endpoint .
- Clique no link ARN do seu aplicativo de plataforma.
- Selecione o Endpoint recém-criado para o seu dispositivo e clique no botão Publicar no endpoint .
- Selecione o formato de mensagem JSON e clique no botão gerador de mensagem JSON .
- Digite uma mensagem de teste e clique no JSON Gerar botão
- Agora vem a "parte peguei".
A mensagem que é gerada pelo SNS terá o seguinte formato:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
Como mencionamos anteriormente, as data
cargas úteis serão ignoradas se nenhum serviço para recebê-las tiver sido implementado. Gostaríamos de testar sem escrever muito código, então, em vez disso, devemos enviar uma notification
carga útil. Para fazer isso, basta alterar a mensagem JSON para ler:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
Depois de fazer isso, certifique-se de que seu aplicativo não esteja em execução no dispositivo e clique no botão Publicar Mensagem . Agora você deve ver uma notificação pop-up no seu dispositivo.
É claro que você pode fazer tudo isso programaticamente por meio da API do Amazon SNS; no entanto, todos os exemplos parecem usar a data
carga útil, portanto, você precisa manter isso em mente e gerar uma carga útil adequada ao seu caso de uso.