1. El documento habla sobre las notificaciones push y cómo Azure Notification Hubs puede ayudar a administrarlas de forma multiplataforma. 2. Azure Notification Hubs permite enviar notificaciones a dispositivos de diferentes plataformas de una forma unificada evitando la complejidad de interactuar directamente con cada servicio de notificaciones. 3. El servicio también ofrece funcionalidades como etiquetado para enviar notificaciones a grupos de usuarios, telemetría y programación de envíos.
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 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
5. • 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
6. • 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. • 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
14. • 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
16. • 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
17. 4.- Azure Notification Hubs
@plainconcepts 17
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
1. El cliente se registra en el PNS
correspondiente
NOTIFICATION HUBS
18. 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
19. 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
20. 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
21. 4.- Azure Notification Hubs
@plainconcepts 21
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
5- El Backend envía
la notificación
NOTIFICATION HUBS
22. 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
23. 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
24. • 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
25. • 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
27. • 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
29. • 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
33. 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