Push notifications
-
Upload
plain-concepts -
Category
Technology
-
view
64 -
download
0
Transcript of Push notifications
2
Qué veremos 1. ¿Qué son las notificaciones de inserción?
2. Notificaciones de inserción por plataforma
3. Centros de notificaciones4. Azure Notification Hubs
4.1.- DEMO básica4.2.- Uso de etiquetas4.3.- DEMO: etiquetas4.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ópezDEVELOPER 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
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
7
2.- Notificaciones de inserción por plataforma
@plainconcepts
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
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
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
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
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
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
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
17
4.- Azure Notification Hubs
@plainconcepts
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
1. El cliente se registra en el PNS correspondiente
NOTIFICATION HUBS
18
4.- Azure Notification Hubs
@plainconcepts
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
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
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
BACKEND DE LA APLICACIÓN
APLICACIONES
PNS
.
.
.
5- El Backend envía la notificación
NOTIFICATION HUBS
22
4.- Azure Notification Hubs
@plainconcepts
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
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
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 plataformaso 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
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
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
@plainconcepts
¡GRACIAS!www.plainconcepts.com
http://geeks.ms/windowsplatform/https://github.com/WindowsPlatformTeam
www.plainconcepts.com
MADRIDPaseo de la Castellana 163, 10º
28046 Madrid. EspañaT. (+34) 91 5346 836
BILBAONervión 3 , 6º
48001 Bilbao. EspañaT. (+34) 94 6008 168
BARCELONAAv. Josep Tarradellas 10, 6º 1ª
08029 Barcelona. EspañaT. (+34) 93 3607 114
SEVILLAAvenida de la innovación s/nEdificio Renta Sevilla, 3º A
41020 Sevilla. España
DUBAIDubai Internet City. Building 1
73030 Dubai. EAUT. (+971) 4 551 6653
LONDONImpact Hub Kings Cross24B York Way, N1 9AB
London. UK
SEATTLE1511, Third Ave
Seattle WA 98101. USAT. (+1) 206 708 1285