FCM es compatible con versiones anteriores de GCM. Los pasos para configurar FCM en AWS son idénticos al procedimiento de configuración de GCM y (al menos por el momento) FCM funciona de forma transparente con GCM y SNS con respecto a la configuración del lado del servidor.
Sin embargo , si envía data
cargas útiles al dispositivo Android, no se procesarán a menos que implemente un servicio del lado del cliente que se extienda FirebaseMessagingService
. El generador de mensajes JSON predeterminado en la consola de AWS envía data
mensajes, que su aplicación ignorará a menos que se implemente el servicio mencionado anteriormente. Para evitar esto para las pruebas iniciales, puede proporcionar una notification
carga útil personalizada que recibirá su dispositivo (siempre que su aplicación no esté en primer plano)
Hay instrucciones de migración de GCM-FCM proporcionadas por Google, sin embargo, los cambios que debe realizar son predominantemente del lado de la aplicación.
Los pasos que debe seguir para probar GCM / FCM en su aplicación con SNS son:
- Cree una aplicación de plataforma en SNS , seleccione Google Cloud Messaging (GCM) como la plataforma de notificaciones push y proporcione su clave de API de servidor en el campo de clave de API .
- Seleccione la Aplicación de plataforma y haga clic en el botón Crear punto final de plataforma .
- Proporcione el InstanceID ( Token de dispositivo ) generado por su aplicación. Debe extender
FirebaseInstanceIDService
y anular el onTokenRefresh
método para ver esto dentro de su aplicación de Android. Una vez que haya hecho esto , desinstale y reinstale su aplicación y su token debería imprimirse en la consola de depuración en Android Studio en el primer arranque.
- Haga clic en el botón Agregar punto final .
- Haga clic en el enlace ARN para su aplicación de plataforma.
- Seleccione el punto final recién creado para su dispositivo y haga clic en el botón Publicar en punto final .
- Seleccione el formato de mensaje JSON y haga clic en el botón generador de mensajes JSON .
- Introduzca un mensaje de prueba y haga clic en el JSON Generar botón
- Ahora viene la "parte de los atrapé".
El mensaje generado por SNS tendrá la forma:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
Como mencionamos anteriormente, las data
cargas útiles se ignorarán si no se ha implementado ningún servicio para recibirlas. Nos gustaría probar sin escribir demasiado código, por lo que deberíamos enviar una notification
carga útil. Para hacer esto, simplemente cambie el mensaje JSON para leer:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
Una vez que haya hecho esto, asegúrese de que su aplicación no se esté ejecutando en el dispositivo y presione el botón Publicar mensaje . Ahora debería ver una notificación emergente en su dispositivo.
Por supuesto, puede hacer todo esto mediante programación a través de la API de Amazon SNS; sin embargo, todos los ejemplos parecen usar la data
carga útil, por lo que debe tener eso en cuenta y generar una carga útil adecuada para su caso de uso.