Seleccionar página

En este nuevo post y siguiendo la línea de los dos post anteriores, vamos a hablar de notificaciones push en Android. Vamos a explicarlo en tres post diferentes, uno para la implementación del cliente, otro para la implementación del servidor y éste que va a ser de introducción.

Las notificaciones push son una potente herramienta para mandar mensajes desde un servidor a un usuario de una aplicación Android. Todo ello sin necesidad de estar ejecutando una tarea en background haciendo peticiones al servidor y comprobando si hay nuevos mensajes para mostrar al usuario.

Google ofrece un servidor gratuito desde el cuál gestionar estas notificaciones. Este servidor se llama Google Cloud Message for Android (GCM).

Las principales características del GCM son:

  • Permite, como ya he comentado, a un servidor enviar mensajes a una aplicación Android.
  • No es necesario que la aplicación esté en ese momento lanzada para recibir mensajes. El sistema levantará la aplicación cuando reciba la notificación, siempre y cuando la aplicación esté correctamente configurada y tenga permisos para ello.
  • Pasa los mensajes en plano, es decir, sin formato alguno. Posteriormente la aplicación que se ha levantado es la que se encarga de customizar el mensaje.
  • Requiere de un dispositivo que tenga al menos la versión 2.2 de Android y la Google Play Store instalada, o en caso de que sea un emulador la versión 2.2 de Android y las Google API’s.
  • También requiere tener instalado el Google Play Services. Para versiones anteriores a la 3.0 es necesario tener configurada una cuenta de Google en el dispositivo. No es necesario para versiones 4.0.4 o superiores.

 

La arquitectura que se presenta es simple. Nos encontramos con tres elementos, un servidor, un dispositivo Android y el GCM.

  • El servidor se encarga de enviar las notificaciones al GCM, indicándole el el/los token/s del  dispositivo/s destinatario/s y su SENDER_ID.
  • EL GCM es el intermediario que se encarga de recibir las notificaciones del servidor y enviarlos al dispositivo. También se encarga de registrar el dispositivo Android en el servicio.
  • El dispositivo Android que recibe las notificaciones. Se registra en el servicio GCM y le envía al servidor su token para que le pueda enviar notificaciones.

 

Notificaciones Push en Android (Introducción)

Por tanto, el flujo de ejecución para el envío de notificaciones es.

 

  • Registro la aplicación en el GCM y recibo una API_KEY que le permitirá al servidor enviar al GCM notificaciones.
  • Registro el dispositivo dónde tengo instalada la aplicación en el GCM para que puede obtener un token para que el GCM sepa dónde tiene que mandar los mensajes.
  • Una vez hecho el registro en el GCM, la aplicación le envía al servidor su token para que pueda posteriormente indicar al GCM a quién va a enviar su notificación.
  • El servidor envía una petición de notificación al GCM, indicándole su SENDER_ID, la API_KEY, la lista de tokens a dónde va dirigida la notificación y la notificación.
  • El GCM recibe la petición, procesa la información verificando todos los datos para posteriormente enviar la notificación a el/los dispositivo/s.
  • Cuando llega la notificación al dispositivo, el sistema levanta la aplicación a la que va dirigida la notificación y procesa el mensaje para mostrarlo.

Pero antes de empezar con la implementación del servidor y del cliente tenemos que darnos de alta en el servicio GCM.

Para ello nos tenemos que ir primeramente a la consola de desarrolladores y crear un nuevo proyecto. Se nos mostrará una pantalla como la siguiente dónde pondremos el nombre del proyecto.

Notificaciones Push en Android (Introducción)

A continuación en la parte superior del overview, podemos ver el Project Number , el cuál tendremos que utilizar posteriormente como el SENDER_ID. Éste Sender Id es el identificador único de la aplicación emisora de las notificaciones.

Posteriormente tendremos que activar la API Google Cloud Messaging for Android, cómo está en la siguiente imagen, para poder utilizar el servicio GCM.

 

Notificaciones Push en Android (Introducción)

Una vez hecho esto nos iremos al apartado de Credentials y crearemos una nueva key de tipo server key que nos servirá para autentificar la entidad emisora o servidor para cuando mande los mensajes al GCM.

Al crearla nos quedará algo como en la siguiente imagen.

Notificaciones Push en Android (Introducción)

Y con esto ya estamos listos para pasar a la parte de implementación del servidor y del cliente. Pero esto lo veremos en los siguientes post’s.

Esperamos os haya gustado y resultado útil este post. Si tenéis alguna duda, podéis comentar.

Muchas gracias por leernos.

 

Un saludo!

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies