push notifications

33
22.02.2017 Desarrollo y gestión de aplicaciones de apps móviles – Push notification s

Upload: plain-concepts

Post on 20-Mar-2017

64 views

Category:

Technology


0 download

TRANSCRIPT

22.02.2017

Desarrollo y gestión de aplicaciones de apps móviles – 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

4

Notificaciones de inserción

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

13

Centros de notificaciones

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

15

Azure Notification Hub

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

21

4.- Azure Notification Hubs

@plainconcepts

BACKEND DE LA APLICACIÓN

APLICACIONES

PNS

.

.

.

5- El Backend envía la notificación

NOTIFICATION HUBS

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

Francisco Manuel Olmedo Bueno

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

26

DEMO: Notification Hubs en varios sabores

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

28

DEMO: Ejemplo utilizando etiquetas

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

30

DEMO: Otras funcionalidades

31

4.- Azure Notification Hubs - Precios

@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