¿Cuál es la tecnología detrás de un servicio típico de notificaciones push?

El servicio de notificaciones push se implementa en función del dispositivo / cliente donde recibiría la notificación. Si está utilizando un navegador, los enchufes web son probablemente la mejor manera de enviar notificaciones push. Por ejemplo, chats realizados desde el navegador.

Sin embargo, si está utilizando un dispositivo iOS / Android, tienen su propia capa que implementa notificaciones push. En general, ambas plataformas móviles tendrían un servicio central donde

  • los dispositivos pueden registrarse para recibir notificaciones
  • Los proveedores pueden registrarse para enviar notificaciones.

Este servicio central lograría recibir el mensaje del proveedor y enviarlo a todos los clientes suscritos de ese servicio. Hay una única conexión abierta entre el dispositivo y el servidor de notificaciones push para reducir el consumo de batería y el sondeo. La implementación subyacente sería principalmente un socket web, pero desde la perspectiva de una aplicación, estarían utilizando el servicio de notificación del sistema operativo.

Hay buenos recursos en los sitios de desarrolladores de iOS y Android que explican el proceso de extremo a extremo en detalles. Sugiero leerlos como punto de partida

iOS

Google

Las notificaciones push del navegador se crean sobre las API nativas del navegador en Chrome, Firefox y Safari. Estos navegadores implementan un “Service Worker” que permite a los navegadores de los clientes recibir notificaciones push. Resumen de alto nivel sobre cómo funciona la notificación del navegador de Facebook

1) Un usuario opta por la notificación. El navegador almacena la identificación del dispositivo para el suscriptor devuelto por el navegador.

2) Más tarde basado en eventos (me gusta, comentario en la publicación), y cualquier heurístico / algoritmo interno que Facebook pueda activar enviando una notificación al usuario. Para hacerlo, se utiliza la identificación del dispositivo del último paso, y utiliza Google Cloud Messaging, para enviar mensajes en Chrome como ejemplo.

3) FB realiza muchas otras optimizaciones para enviar notificaciones al dispositivo que es probable que verifique y desduplica los mensajes.

Un video de Youtube de Google I / O 2016 podría ayudarlo más.

Trabajadores de servicios a escala con Facebook y Flipkart – Google I / O 2016