Silent Push Notifications: evolución de la tecnología Push

Captura de pantalla 2013-11-22 a la(s) 15.47.36

La app se actualiza tras la interacción del usuario con la notificación Push.

El concepto de push nace con la finalidad de evitar que sea el cliente el que solicite los datos al servidor, por el contrario, es el servidor quién origina la petición, enviando entonces la información al cliente. Este paradigma es tremendamente versátil en el escenario de los dispositivos móviles: si cada aplicación tuviese que solicitar constantemente datos a un servidor, entonces todas las aplicaciones esperando información tendrían que tener al menos un proceso activo, lo que penalizaría descomunalmente el consumo de recursos, perdiendo rendimiento e impactando directamente en el consumo de batería.

Evolución del push en móviles

En 2009 Apple creó el Apple Push Notification Service (APNS), que es un paso intermedio entre los servidores de los desarrolladores, empresas, y sus aplicaciones instaladas en los iDispositivos. Existen varias razones para optar por añadir un intermediario, una es que es preferible hacer un polling a un solo servidor, pero la principal es garantizar que solo terceras partes en las que el usuario explícitamente confía están autorizadas a enviar mensajes y comandos. No querríamos recibir un comando “borrar todo” de un desconocido ¿verdad?

Google introdujo un modelo similar mediante el Android Cloud to Device Messaging Framework (recientemente sustituido por Google Cloud Messaging for Android (GCM)), y dado que las Apps nativas de Android ya hacen uso de él no hay motivo para iniciar una conexión a otro servidor teniendo lo que ya ofrece Google. No obstante, en Android es posible hacer que la propia aplicación busque la información en los servidores constantemente.

Mas que mensajes.

SilentPushNotA pesar de que el concepto de push no limita lo que podemos enviar o no durante una comunicación, las primeras implementaciones en iOS se limitaban a Push notifications, que es básicamente con lo que relacionamos actualmente el push: Notificaciones en pantalla.
Este comportamiento es suficiente para un gran número de aplicaciones, sin embargo tiene una limitación que en determinados casos puede ser muy relevante: La aplicación no recibirá información, ni sabrá que se ha iniciado una comunicación desde un servidor en caso de que el usuario ignore la notificación, y por tanto, no será posible establecer una comunicación con una aplicación que no esté en primer plano sin intervención del usuario.

Push triggers / Silent Push Notifications.

Dentro de las mejoras de multitarea incluidas en iOS 7, se introduce una característica que hasta ahora solo estaba disponible si la aplicación era parte de Newsstand de iOS: Los Push Triggers o Silent Push Notifications. En la nueva versión del sistema operativo de los iDispositivos, es posible enviar un push para activar la aplicación, y que por ejemplo se actualice estando en segundo plano, de tal manera que le próxima vez que el usuario la abra, verá el nuevo contenido sin esperas.
Apple usa esta característica desde iOS 5, en la aplicación ‘Find My Friends’ de la que hablamos en el post de Geocercas.

Alerta tras un "background fetch"

Alerta tras un “background fetch”

Sheldon, quiere saber donde está Leonard. Sheldon abre la aplicación ‘Find My Friends’, que a su vez hace una petición a los servidores de Apple, que a su vez envía un push al dispositivo de Leonard. Cuando el dispositivo de Leonard recibe el Push, no le enseña nada en pantalla, ni le da ningún tipo de notificación, pero despierta a ‘Find My Friends’ de Leonard. ‘Find My Friends’ de Leonard accede a la información de localización del dispositivo, y la devuelve, siguiendo la misma ruta pero a la inversa, hasta que llega al dispositivo de Sheldon y este lo ve pintado en un mapa. Llegados a este punto, Sheldon sabrá que Leonard está en casa de Penny, o quizás subiendo las escaleras. No lo sabe a ciencia cierta porque la precisión en interiores puede tener un margen de error de decenas de metros. Quizás Sheldon querrá instalar unos iBeacons para evitar este problema, pero es un tema que dejaremos para otra entrada.

Share on Facebook0Tweet about this on Twitter0Share on Google+0Share on LinkedIn0
Iván González

diciembre 4, 2013

  • Wao

    hola, tengo una inquietud la tecnologia push es la que utiiliza whatsapp, como herramienta de comunicacion cliente servidor, saludos,