Dudas notificaciones push GCM y bibliotecas
Estoy valorando introducir notificaciones en mis apps, tanto para funciones de juego como envío de noticias, avisos de actualizaciones, etc.
Ya me he leído la documentación del GCM oficial, la del curso de sgoliver y alguna referencia más.
Dudas...
1) ¿Es necesario el permiso GET_ACCOUNTS? Hay sitios donde lo ponen como obligado (doc oficial) y otros donde no aparecen (sgoliver y otros tutoriales). ¿Es solo para comprobar que existe la cuenta de Google? He estado viendo juegos que usan notificaciones y unos lo tienen y otros no. Personalmente, es un permiso que no me gusta incluir si no es estrictamente necesario.
2) ¿Hay alguna biblioteca de servidor Java asíncrona? (o algún servidor que haga de interfaz con los sistemas de notificación de Apple, GCM, etc...) La biblioteca de servidor que ofrece Google para Java es sencilla y hace reintentos con periodicidad decreciente como manda Google. Problema: es bloqueante. El día que el servidor de GCM le pase algo, la llamada se quedará bloqueada durante minutos. Lo ideal sería que tuviera internamente una cola de mensajes y periódicamente los fuera procesando, algo que tampoco creo que cueste mucho hacerlo a mano, pero para qué reinventar la rueda...
3) ¿Cuál es la experiencia general de GCM? ¿Es fiable? Siempre veo en muchos comentarios de apps que fallan las notificaciones, y los desarrolladores proponen que se reinstale la aplicación. Reinstalar una app me parece una solución precaria, imagino que es posible detectar desde el servidor cuando un ID no es válido y comunicárselo al cliente (no por notificación evidentemente) para que vuelva a registrarse en GCM.
4) ¿El desregistro cuándo debería hacerlo? Supongo que cuando el usuario desactiva las notificaciones de mi app en preferencias, ¿verdad?
Última edición por mocelet Día 15/03/13 a las 20:53:06
|