22.02.2017
Desarrollo y
gestión de
aplicaciones de
apps móviles –
Push notifications
Qué veremos
2
1. ¿Qué son las notificaciones de inserción?
2. Notificaciones de inserción por plataforma
3. Centros de notificaciones
4. Azure Notification Hubs
4.1.- DEMO básica
4.2.- Uso de etiquetas
4.3.- DEMO: etiquetas
4.4.- Otras características
@plainconcepts 3
Software developer en Plain Concepts en
Windows Platform Team.
Francisco Olmedo
Software developer en Plain Concepts en
Windows Platform Team.
Ángel Carlos López
DEVELOPER DEVELOPER
@_aclopez @fmolmedo
https://github.com/WindowsPlatformTeam
4
Notificaciones de inserción
• Forma de comunicación desde la
aplicación al usuario.
– Cuadro de diálogo o ventana
emergente.
– El usuario puede elegir ver o descartar
el mensaje. En el primer caso,
normalmente, se navegará a la
aplicación.
• Características:
– Están disponibles incluso cuando las
aplicaciones no están activas.
– Flexibles para los remitentes de
notificaciones.
– Aumentan la forma de interactuar sobre
las aplicaciones.
1.- ¿Qué son las notificaciones de inserción?
@plainconcepts 5
• Se integran a través de sistemas de notificaciones de cada plataforma (PNS)
– WNS (Servicio de notificaciones de Windows) para aplicaciones UWP.
– APNS (Servicio de notificaciones push de Apple).
– FCM (Mensajes en la nube de Firebase) para aplicaciones Android.
– ADM (Mensajería de dispositivos de Amazon) para kindles….
2.- Notificaciones de inserción por plataforma
@plainconcepts 6
2.- Notificaciones de inserción por plataforma
@plainconcepts 7
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
1. El cliente se registra en el PNS
correspondiente
2.- Notificaciones de inserción por plataforma
@plainconcepts 8
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
2. PNS devuelve al cliente el
identificador de la plataforma
2.- Notificaciones de inserción por plataforma
@plainconcepts 9
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
3.- El cliente registra en el Backend
de la aplicación el identificador
asociado
2.- Notificaciones de inserción por plataforma
@plainconcepts 10
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
4.- El Backend se comunica con el PNS
correspondiente para enviar una notificación
de inserción a un cliente específico
2.- Notificaciones de inserción por plataforma
@plainconcepts 11
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
5.- El PNS envía la notificación al cliente
deseado
• INCONVENIENTES
– Implementación totalmente dependiente de la plataforma:
o Varios interfaces en backend.
o Presentación y configuración de la notificación (iconos, distintivo…) diferente.
o Backend complejo y difícil de mantener
– Escala:
o Se debe actualizar el identificador/token de dispositivo cada vez que se inicie la aplicación.
o La mayoría de PNS no son compatibles con la multidifusión (envío simultáneo de mensajes a varios
dispositivos) por lo que habría que cuidar el problema de latencias.
– Enrutamiento:
o ¿Cómo enviar notificaciones a grupos de usuarios?
2.- Notificaciones de inserción por plataforma
@plainconcepts 12
13
Centros de notificaciones
• La idea de los centros de notificaciones es muy sencilla: aunar la implementación específica
de cada plataforma en una interfaz común para operar con las notificaciones de inserción:
– Reduce la complejidad del backend de las aplicaciones.
– Proveen mucha flexibilidad a la hora de enviar notificaciones.
– Otros servicios asociados: telemetría …
3.- Centros de notificaciones
@plainconcepts 14
15
Azure Notification Hub
• El esquema fundamental de funcionamiento es el siguiente:
• Sigue siendo necesario que los dispositivos clientes se registren en el PNS correspondiente.
Posteriormente, envían el identificador de registro al backend que, a su vez, lo registra en
el centro de notificaciones.
4.- Azure Notification Hubs
@plainconcepts 16
4.- Azure Notification Hubs
@plainconcepts 17
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
1. El cliente se registra en el PNS
correspondiente
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 18
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
2. PNS devuelve al cliente el
identificador de la plataforma
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 19
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
3.- El cliente registra
en el Backend de la
aplicación el
identificador
asociado
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 20
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
4- El Backend
registra el
identificacdor en el
notification hub
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 21
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
5- El Backend envía
la notificación
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 22
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
6- Notification Hubs
envía la notificación
a los PNS
requeridos
NOTIFICATION HUBS
4.- Azure Notification Hubs
@plainconcepts 23
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
NOTIFICATION HUBS
7- PNS envía la
notificación a los clientes
• CARACTERÍSTICAS:
– Multiplataforma:
o Compatibilidad con las principales plataformas de notificaciones de inserción (PNS).
– Android, iOS, Xamarin, UWP, Windows Phone, Kindle, Baidu, Chrome, Safari…
o Compatible con diferentes tecnologías de backend:
– SDK para .Net, Node.js, Python, Java y PHP.
– Interfaz REST.
– Escala:
o Se pueden procesar, al menos, 1 millón de notificaciones en 1 minuto.
o Los PNS no garantizan ningún SLA (acuerdo de nivel de servicio).
o No hay garantías de latencias
– Seguridad:
o Firma de acceso compartido SAS o autenticación federada.
4.- Azure Notification Hubs
@plainconcepts 24
• CARACTERÍSTICAS:
– Telemetría:
o Telemetría sobre envíos de mensajes, errores… disponibles a través del portal o
programativamente.
– Patrones de entrega:
o Difusión para una o varias plataformas
o Inserción en dispositivo: puede destinar las notificaciones a dispositivos individuales.
o Inserción en usuario.
o Inserción en segmento con etiquetas dinámicas.
o Inserción localizada.
o Inserción silenciosa: puede habilitar el modelo de inserción a extracción enviando notificaciones
silenciosas a dispositivos y desencadenándolos para que realicen ciertas extracciones o acciones.
o Inserción programada: puede programar el envío de notificaciones en cualquier momento.
o Inserción directa: puede omitir el registro de dispositivos con nuestro servicio y procesar por lotes
directamente las inserciones a una lista de identificadores de dispositivo.
o Inserción personalizada: las variables de inserción de dispositivo le ayudan a enviar notificaciones
push personalizadas específicas de dispositivo con pares de clave-valor personalizados.
4.- Azure Notification Hubs
@plainconcepts 25
26
DEMO: Notification Hubs en varios sabores
• Desde el backend de la aplicación podemos elegir a qué dispositivos clientes enviar las notificaciones:
– Difusión: Se enviará la notificación a todos los dispositivos registrados en el centro de notificaciones.
– Etiquetado: Se envía la notificación a los dispositivos que se hayan registrado con la etiqueta deseada.
– Expresión: Se envía la notificación a todos los dispositivos cuyo conjunto de etiquetas satisfagan la
expresión.
4.- Azure Notification Hubs - Etiquetas
@plainconcepts 27
28
DEMO: Ejemplo utilizando etiquetas
• Uso de plantillas:
– Las plantillas forman parte del cliente y no del servidor (back-end).
– Podemos perder flexibilidad al no ser el servidor el que envía el “diseño”.
– Ganamos en latencia (uso de datos).
– El servidor puede mandar una sola notificación al centro de notificaciones independientemente de la
plataforma o plantilla.
– Puedes globalizar fácilmente tus notificaciones.
• Envío de notificaciones programadas:
– Sólo para centro de notificaciones Estándar.
– Puedes programar envíos de notificaciones hasta con 7 días de antelación.
– En cualquier momento se puede cancelar.
4.- Azure Notification Hubs - Etiquetas
@plainconcepts 29
30
DEMO: Otras funcionalidades
4.- Azure Notification Hubs - Precios
@plainconcepts 31
@plainconcepts
¡GRACIAS!
www.plainconcepts.com
http://geeks.ms/windowsplatform/
https://github.com/WindowsPlatformTeam
www.plainconcepts.com
MADRID
Paseo de la Castellana 163, 10º
28046 Madrid. España
T. (+34) 91 5346 836
BILBAO
Nervión 3 , 6º
48001 Bilbao. España
T. (+34) 94 6008 168
BARCELONA
Av. Josep Tarradellas 10, 6º 1ª
08029 Barcelona. España
T. (+34) 93 3607 114
SEVILLA
Avenida de la innovación s/n
Edificio Renta Sevilla, 3º A
41020 Sevilla. España
DUBAI
Dubai Internet City. Building 1
73030 Dubai. EAU
T. (+971) 4 551 6653
LONDON
Impact Hub Kings Cross
24B York Way, N1 9AB
London. UK
SEATTLE
1511, Third Ave
Seattle WA 98101. USA
T. (+1) 206 708 1285

Push notifications

  • 1.
    22.02.2017 Desarrollo y gestión de aplicacionesde apps móviles – Push notifications
  • 2.
    Qué veremos 2 1. ¿Quéson las notificaciones de inserción? 2. Notificaciones de inserción por plataforma 3. Centros de notificaciones 4. Azure Notification Hubs 4.1.- DEMO básica 4.2.- Uso de etiquetas 4.3.- DEMO: etiquetas 4.4.- Otras características
  • 3.
    @plainconcepts 3 Software developeren Plain Concepts en Windows Platform Team. Francisco Olmedo Software developer en Plain Concepts en Windows Platform Team. Ángel Carlos López DEVELOPER DEVELOPER @_aclopez @fmolmedo https://github.com/WindowsPlatformTeam
  • 4.
  • 5.
    • Forma decomunicación desde la aplicación al usuario. – Cuadro de diálogo o ventana emergente. – El usuario puede elegir ver o descartar el mensaje. En el primer caso, normalmente, se navegará a la aplicación. • Características: – Están disponibles incluso cuando las aplicaciones no están activas. – Flexibles para los remitentes de notificaciones. – Aumentan la forma de interactuar sobre las aplicaciones. 1.- ¿Qué son las notificaciones de inserción? @plainconcepts 5
  • 6.
    • Se integrana través de sistemas de notificaciones de cada plataforma (PNS) – WNS (Servicio de notificaciones de Windows) para aplicaciones UWP. – APNS (Servicio de notificaciones push de Apple). – FCM (Mensajes en la nube de Firebase) para aplicaciones Android. – ADM (Mensajería de dispositivos de Amazon) para kindles…. 2.- Notificaciones de inserción por plataforma @plainconcepts 6
  • 7.
    2.- Notificaciones deinserción por plataforma @plainconcepts 7 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 1. El cliente se registra en el PNS correspondiente
  • 8.
    2.- Notificaciones deinserción por plataforma @plainconcepts 8 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 2. PNS devuelve al cliente el identificador de la plataforma
  • 9.
    2.- Notificaciones deinserción por plataforma @plainconcepts 9 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 3.- El cliente registra en el Backend de la aplicación el identificador asociado
  • 10.
    2.- Notificaciones deinserción por plataforma @plainconcepts 10 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 4.- El Backend se comunica con el PNS correspondiente para enviar una notificación de inserción a un cliente específico
  • 11.
    2.- Notificaciones deinserción por plataforma @plainconcepts 11 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 5.- El PNS envía la notificación al cliente deseado
  • 12.
    • INCONVENIENTES – Implementacióntotalmente dependiente de la plataforma: o Varios interfaces en backend. o Presentación y configuración de la notificación (iconos, distintivo…) diferente. o Backend complejo y difícil de mantener – Escala: o Se debe actualizar el identificador/token de dispositivo cada vez que se inicie la aplicación. o La mayoría de PNS no son compatibles con la multidifusión (envío simultáneo de mensajes a varios dispositivos) por lo que habría que cuidar el problema de latencias. – Enrutamiento: o ¿Cómo enviar notificaciones a grupos de usuarios? 2.- Notificaciones de inserción por plataforma @plainconcepts 12
  • 13.
  • 14.
    • La ideade los centros de notificaciones es muy sencilla: aunar la implementación específica de cada plataforma en una interfaz común para operar con las notificaciones de inserción: – Reduce la complejidad del backend de las aplicaciones. – Proveen mucha flexibilidad a la hora de enviar notificaciones. – Otros servicios asociados: telemetría … 3.- Centros de notificaciones @plainconcepts 14
  • 15.
  • 16.
    • El esquemafundamental de funcionamiento es el siguiente: • Sigue siendo necesario que los dispositivos clientes se registren en el PNS correspondiente. Posteriormente, envían el identificador de registro al backend que, a su vez, lo registra en el centro de notificaciones. 4.- Azure Notification Hubs @plainconcepts 16
  • 17.
    4.- Azure NotificationHubs @plainconcepts 17 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 1. El cliente se registra en el PNS correspondiente NOTIFICATION HUBS
  • 18.
    4.- Azure NotificationHubs @plainconcepts 18 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 2. PNS devuelve al cliente el identificador de la plataforma NOTIFICATION HUBS
  • 19.
    4.- Azure NotificationHubs @plainconcepts 19 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 3.- El cliente registra en el Backend de la aplicación el identificador asociado NOTIFICATION HUBS
  • 20.
    4.- Azure NotificationHubs @plainconcepts 20 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 4- El Backend registra el identificacdor en el notification hub NOTIFICATION HUBS
  • 21.
    4.- Azure NotificationHubs @plainconcepts 21 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 5- El Backend envía la notificación NOTIFICATION HUBS
  • 22.
    4.- Azure NotificationHubs @plainconcepts 22 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . 6- Notification Hubs envía la notificación a los PNS requeridos NOTIFICATION HUBS
  • 23.
    4.- Azure NotificationHubs @plainconcepts 23 BACKEND DE LA APLICACIÓN APLICACIONES PNS . . . NOTIFICATION HUBS 7- PNS envía la notificación a los clientes
  • 24.
    • CARACTERÍSTICAS: – Multiplataforma: oCompatibilidad con las principales plataformas de notificaciones de inserción (PNS). – Android, iOS, Xamarin, UWP, Windows Phone, Kindle, Baidu, Chrome, Safari… o Compatible con diferentes tecnologías de backend: – SDK para .Net, Node.js, Python, Java y PHP. – Interfaz REST. – Escala: o Se pueden procesar, al menos, 1 millón de notificaciones en 1 minuto. o Los PNS no garantizan ningún SLA (acuerdo de nivel de servicio). o No hay garantías de latencias – Seguridad: o Firma de acceso compartido SAS o autenticación federada. 4.- Azure Notification Hubs @plainconcepts 24
  • 25.
    • CARACTERÍSTICAS: – Telemetría: oTelemetría sobre envíos de mensajes, errores… disponibles a través del portal o programativamente. – Patrones de entrega: o Difusión para una o varias plataformas o Inserción en dispositivo: puede destinar las notificaciones a dispositivos individuales. o Inserción en usuario. o Inserción en segmento con etiquetas dinámicas. o Inserción localizada. o Inserción silenciosa: puede habilitar el modelo de inserción a extracción enviando notificaciones silenciosas a dispositivos y desencadenándolos para que realicen ciertas extracciones o acciones. o Inserción programada: puede programar el envío de notificaciones en cualquier momento. o Inserción directa: puede omitir el registro de dispositivos con nuestro servicio y procesar por lotes directamente las inserciones a una lista de identificadores de dispositivo. o Inserción personalizada: las variables de inserción de dispositivo le ayudan a enviar notificaciones push personalizadas específicas de dispositivo con pares de clave-valor personalizados. 4.- Azure Notification Hubs @plainconcepts 25
  • 26.
    26 DEMO: Notification Hubsen varios sabores
  • 27.
    • Desde elbackend de la aplicación podemos elegir a qué dispositivos clientes enviar las notificaciones: – Difusión: Se enviará la notificación a todos los dispositivos registrados en el centro de notificaciones. – Etiquetado: Se envía la notificación a los dispositivos que se hayan registrado con la etiqueta deseada. – Expresión: Se envía la notificación a todos los dispositivos cuyo conjunto de etiquetas satisfagan la expresión. 4.- Azure Notification Hubs - Etiquetas @plainconcepts 27
  • 28.
  • 29.
    • Uso deplantillas: – Las plantillas forman parte del cliente y no del servidor (back-end). – Podemos perder flexibilidad al no ser el servidor el que envía el “diseño”. – Ganamos en latencia (uso de datos). – El servidor puede mandar una sola notificación al centro de notificaciones independientemente de la plataforma o plantilla. – Puedes globalizar fácilmente tus notificaciones. • Envío de notificaciones programadas: – Sólo para centro de notificaciones Estándar. – Puedes programar envíos de notificaciones hasta con 7 días de antelación. – En cualquier momento se puede cancelar. 4.- Azure Notification Hubs - Etiquetas @plainconcepts 29
  • 30.
  • 31.
    4.- Azure NotificationHubs - Precios @plainconcepts 31
  • 32.
  • 33.
    www.plainconcepts.com MADRID Paseo de laCastellana 163, 10º 28046 Madrid. España T. (+34) 91 5346 836 BILBAO Nervión 3 , 6º 48001 Bilbao. España T. (+34) 94 6008 168 BARCELONA Av. Josep Tarradellas 10, 6º 1ª 08029 Barcelona. España T. (+34) 93 3607 114 SEVILLA Avenida de la innovación s/n Edificio Renta Sevilla, 3º A 41020 Sevilla. España DUBAI Dubai Internet City. Building 1 73030 Dubai. EAU T. (+971) 4 551 6653 LONDON Impact Hub Kings Cross 24B York Way, N1 9AB London. UK SEATTLE 1511, Third Ave Seattle WA 98101. USA T. (+1) 206 708 1285

Notas del editor

  • #30 https://azure.microsoft.com/es-es/documentation/articles/notification-hubs-windows-notification-dotnet-push-xplat-segmented-wns/ https://azure.microsoft.com/es-es/documentation/articles/notification-hubs-windows-store-dotnet-xplat-localized-wns-push-notification/