Notificaciones

Microsoft proporciona al desarrollador de aplicaciones para Windows Phone 7 un servicio de notificaciones llamado "Microsoft Push Notification Service". Está diseñado como un servicio en la nube con un canal dedicado, flexible, persistente y con el objetivo de enviar notificaciones Push a un dispositivo móvil.

Dichas notificaciones pueden utilizarse para comunicar a una aplicación que hay una actualización de los contenidos de la misma, o para generar alertas o para incluso avisar al usuario que la aplicación tiene descargas disponibles o contenidos nuevos sin siquiera haber iniciado la aplicación.

Uno de los objetivos de la plataforma WP7 es el menor consumo de batería posible. WP7 no permite a tu aplicación ejecutar código en segundo plano ya que en la primera versión de la plataforma solamente los servicios del sistema permiten ejecutarse de forma simultánea. Las aplicaciones de terceros o generadas por nosotros funcionan de una en una, por lo que las notificaciones push además solventan un problema que se había planteado, que era el de estar continuamente consultando en segundo plano un servicio web sobre si había o no actualizaciones para nuestra aplicación.

Microsoft Push Notification (MPN) compensa esta restricción y permite enviar mensajes a tu dispositivo, incluso si tu aplicación no está en ejecución

Todas estas notificaciones vamos a dividirlas en tres sólidos métodos de notificación. Las notificaciones Push Tile, Push Toast y Raw.

Pero antes de ver que tipos de notificaciones podemos utilizar en nuestras aplicaciones, tenemos que entender el proceso de comunicación que siguen para notificar al dispositivo que hay información nueva para recibir.

Proceso de comunicación

  1. Cuando un servicio quiere enviar una notificación a un dispositivo, envía una petición de notificación al servicio de notificaciones
  2. El servicio de notificaciones envía la notificación a la aplicación o al dispositivo como una notificación toast o tile.
  3. El cliente push del dispositivo recibe las notificaciones a través del canal de notificaciones
  4. Al crearse el canal se crea una suscripción asociada que permite al servicio en la nube enviar notificaciones a ese canal.
  5. El canal se representa mediante una URI que contiene toda la información asociada a la suscripción
  6. Una vez que la aplicación recibe la notificación push tiene acceso al servicio en la nube

Las notificaciones Tile y Toast son dos mecanismos que habilitan un servicio web para enviar feedback relevante a usuarios fuera de las aplicaciones, es decir en el propio interfaz del usuario. Adicionalmente, este servicio puede enviar peticiones de notificación RAW, donde se podrá enviar cualquier tipo de mensaje en crudo. Dependiendo del tipo de notificaciones que se envíe, las notificaciones serán enrutadas a la aplicación o hacia la interfaz del sistema operativo.

Puedes ver con más detalle el proceso en este artículo de MSDN o en el blog del equipo de Windows Phone: Parte 1, Parte 2 (inglés).

Notificaciones Push Tile

Un tile es una representación dinámica y visual de una aplicación o su contenido dentro de la pantalla de inicio de Windows Phone 7. Por ejemplo, una aplicación de resultados de futbol puede mostrar dentro de la misma todos los resultados de una jornada de futbol de la liga Española. Sin embargo tendríamos que tener abierta la aplicación para ver como se refrescan los resultados en tiempo real (ejemplo de notificaciones RAW).    
     

Para no tener la necesidad de tener la aplicación abierta esperando a ver si nuestro equipo marca o no, se pueden habilitar los servicios de notificaciones push tipo "Tile" donde, el propio icono/tile de lanzamiento de nuestra aplicación podrá actualizarse numéricamente, textualmente y gráficamente, representando que ha recogido el resultado de un gol de nuestro equipo favorito, poniendo en la imagen de nuestro tile, el equipo que ha marcado y en el texto el nombre del jugador que ha marcado.

A continuación el usuario hará clic en el Tile y accederá a la aplicación viendo así los resultados completos de este y otros partidos.


Notificaciones Push Toast

Un servicio en la nube puede generar un tipo especial de notificación push conocido como notificación toast, el cual se muestra como una capa superpuesta (o tostada también llamada, debido al efecto de movimiento similar al de una tostada saltando de un tostador) en la parte superior del a pantalla del dispositivo:

Con este tipo de notificaciones se pueden controlar el título y subtítulo de la tostada. Además se mostrará el icono de la aplicación, que está incluido en el paquete de despliegue de la aplicación.

Nota: Las notificaciones Toast deberían ser personalmente relevantes y críticas en el tiempo. Inicialmente se focalizaron en la comunicación peer to peer.