Simple demostration of Grails accessing mobile infraestructure
Esta App se propone como objeto:
- Recibir la subscripción de los dispositivos Android.
- Enviar mensajes a los subscriptos
Está desarrollada usando:
- Grails 2.4.2
- redis services
El DeviceController recibe el deviceToken que es enviado por el dispositivo, desde la app a la cual queremos enviar notificaciones, y lo resguarda para luego usarlo al momento de notificar. Como esto es enviado por la app y no tiene ningun tipo de restriccion de android, esta llamada puede requerir mas informacion al dispositivo (por ejemplo que tipo de dispositivo es, en caso de querer integrar otras plataformas)
A través de POST request, en el SendNotificationController.
La informacion necesaria para que se muestre una notificacion con titulo y mensaje, siguiendo las especificaciones de android, para un mensaje de texto plano (un mensaje de tipo JSON varia):
texto plano:
{
registration_id: deviceToken, // obtenidos en la registracion
data.<key>: value, // diccionario que contiene la informacion que llega al dispositivo
}
JSON
{
registration_ids: devicesToken, //se puede enviar hasta 1000 dispositivos simultaneamente
data: JSON obj, // diccionario que contiene la informacion que llega al dispositivo
}
Y lo requerido por el plugin de cordova PushPlugin.
{
data.message: ""//mensaje de la notificacion
data.title: ""//titulo de la notificacion
}
El POST debe ser enviado con dos headers:
'Authorization':'key=APIKey'
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'//para texto plano
'Content-Type': 'application/json'//para JSON
es el APIKey se genera desde la página de Android.