notificaciones push
09/12/2015

¿Qué son las notificaciones push y cómo funcionan?

Desarrollo de apps

Notificaciones push no es un término nuevo, es algo que hemos visto en muchas ocasiones y que hemos utilizado incluso sin darnos cuenta, pero no nos planteamos qué son y no sabemos a ciencia cierta de qué trata o cómo funcionan, simplemente “están ahí”. Sin embargo, es una tecnología importante a la hora de comunicar mensajes (a nivel interno de aplicación) y en realidad no es algo nuevo ya que, de hecho, llevan con nosotros más tiempo del que creemos. En el post de hoy os voy a hablar un poco de estas notificaciones, su origen, cómo funcionan y por qué son importantes a tener en cuenta a nivel de desarrollo.

Las notificaciones push

Si queremos entender esta tecnología debemos remontarnos a hace ya unos años con la compañía de telefonía Blackberry. ¿Alguien se acuerda de ella? Hace mucho que no la vemos en anuncios, ¿verdad? Fue gracias a ellos y a su servicio de correo interno que estas notificaciones empezaron a funcionar. Analicemos cómo funcionaba este servicio: anteriormente, si usábamos un cliente de correo local, como Outlook, de Microsoft, para estar al día de los nuevos correos debíamos hacerlo de manera manual o configurar que, automáticamente, realizara consultas al servidor por si habían mensajes nuevos. Blackberry quería que nosotros no tuviésemos que preocuparnos de ese detalle y es por eso que ideó una tecnología nueva, a la que se le llamó push. Esta consiste en que no es el cliente quien hace la consulta, sino el servidor quien la manda; en otras palabras, en vez de ser nosotros quienes preguntamos: “¿hay mensajes nuevos?”, es el servidor quien nos dice: “oye, que tienes un mensaje nuevo”. Aparentemente no hay diferencia, pero en realidad lo que está ocurriendo es que la comunicación se realiza en el sentido opuesto. De este modo, pese a no ser mensajería instantánea, el cliente recibe la noticia y, por ende, nosotros sabemos que tenemos un mensaje nuevo. Esto supuso toda una revolución y no fue extraño ver cómo estos terminales se popularizaron tanto en EEUU, ya que la gracia añadida de todo esto es que la aplicación en cuestión no era necesario que estuviese activa. Simplemente recibíamos la notificación y ya nosotros decidíamos si consultar o no el nuevo mensaje.

Sabido esto, volvamos un segundo al significado de “push”. Hay dos tecnologías de comunicación: push y pull. La diferencia es que en push es el servidor quien manda la consulta, mientras que en pull somos nosotros quienes consultamos al servidor. Pensadlo del siguiente modo: hay aplicaciones que para refrescarlas tenemos que tirar (pull) hacia abajo con el dedo, como es el caso de Twitter o Gmail. Mientras que en otras, como Whatsapp, es la propia aplicación quien nos informa de que un amigo nos ha mandado un mensaje nuevo. Como veis que ya he mencionado una aplicación de mensajería famosa entre los usuarios. La usaremos como ejemplo para explicar todo el viaje que hace el mensaje para que el servicio push nos la devuelva a nuestro terminal.

notificaciones push

¿Cómo funcionan las notificaciones push?

Ahora que ya sabemos distinguir entre push y pull, vamos a analizar todo el viaje de un mensaje de Whatsapp, desde que sale del terminal de un amigo hasta que llega al nuestro. Vayamos por puntos:

  1. El mensaje sale del terminal de nuestro amigo, dirigiéndose al servidor de Whatsapp. Ese es su destino inicial. El mensaje lleva la identificación del emisor y la del receptor, para que el servidor pueda clasificarlo.
  2. El servidor recibe el mensaje y lo analiza. Mira de dónde procede y a quién va dirigido. Si el destinatario está disponible, empezará el proceso de envío a él, pero aún no ha salido hacía su destino. Aquí es cuando nuestro amigo verá el primer “check”.
  3. El servidor manda el mensaje al receptor y, además, le avisa de que lo tiene disponible para leer. Aquí nuestro amigo verá el doble “check”, pero en color gris. Esto significa que el mensaje ha llegado exitosamente a su destino y que ha sido notificado de ello. Llegados a este punto observamos que aún no ha habido ningún tipo de interacción por parte nuestra. Ni hemos desbloqueado la aplicación, ni el teléfono ni nada. Todo esto se ha realizado sin que nosotros hayamos participado en el proceso.
  4. Finalmente, nosotros somos avisados del mensaje, consultamos Whatsapp y lo leemos. Aquí nuestro amigo vería el doble “check” azul, confirmando que el destinatario ha recibido y leído el mensaje. Decidimos si contestar o ignorar descaradamente a nuestro amigo y se inicia de nuevo el proceso.

Esta es la magia de las notificaciones push, avisar al usuario de algo sin que éste participe. Es por eso que a nivel de desarrollo son tan importantes, porque gracias a ellas podemos comunicar noticias sobre nuestros servicios sin tener que esperar que sea él quien refresque la bandeja de entrada, o abra la aplicación. Con Titanium es posible trabajar con ellas ya que hay una función concreta que se encarga de esto. De hecho os recomiendo leer información más extendida para aprender a usarlas.

Notas a tener en cuenta: Algo que sí debéis saber es que, desde la última regulación de las condiciones de uso de Google en Google Play (pensando en el año de publicación de este post, 2015), no debemos mandar publicidad a través de push. Es ilegal. Está totalmente prohibido y podríais llegar a que os retiren la licencia para publicar en la store.

¿Conocíais esta tecnología?¿Os parece útil, o estáis en contra de su uso, ya que a veces las notificaciones pueden ser muy pesadas? Hacedme saber vuestras opiniones en los comentarios. Como siempre digo, estaré encantado de leerlas.

Curso relacionado: Curso Superior de Desarrollo de Aplicaciones para Móviles.

Comparte en:

Grado Superior de Desarrollo de Aplicaciones informáticas en la Salle de Barcelona. Trabaja actualmente como desarrollador de aplicaciones para móviles, especialidad en videojuegos.

El auge de la tecnología beacon en las apps
25/03/2020
Jordi Mula

El auge de la tecnología beacon en las apps

El posicionamiento, la ubicación y la geolocalización son elementos cada vez más integrados en el desarrollo de aplicaciones. La geolocalización en exterior es un ...

¿Qué debe aportar el cliente para desarrollar una app?
27/02/2020
Jordi Mula

¿Qué debe aportar el cliente para desarrollar una app?

En muchas ocasiones el cliente por desconocimiento no sabe qué datos o elementos debe proporcionarnos para poder generar ese plan de asesoramiento inicial, vamos a ve...

Que es una game jam y que se puede esperar de una sesión
13/02/2020
Jordi Mula

Que es una game jam y que se puede esperar de una sesión

El mes pasado fue la Global Game Jam, y con motivo de este evento internacional que se da lugar en diferentes países y en diferentes sedes, vamos a hablar un poco sob...