cómo funciona Push

By Matt Gaunt
Matt es un colaborador de WebFundamentals

antes de entrar en la API, veamos push desde un nivel alto, de principio a fin. Luego, como westep a través de temas individuales o API más adelante, tendrá una idea de cómo y por qué es importante.

los tres pasos clave para implementar push son:

  1. agregar la lógica del lado del cliente para suscribir a un usuario a push (p. ej., el JavaScript y la interfaz de usuario en la aplicación yourweb que registra a un usuario para enviar mensajes).
  2. La llamada a la API desde su back-end / aplicación que desencadena un mensaje push al dispositivo de un usuario.
  3. El archivo JavaScript de service worker que recibirá un «evento push» cuando el push llegue al dispositivo. Es en este JavaScript que podrás mostrar una notificación.

veamos lo que implica cada uno de estos pasos con un poco más de detalle.

Paso 1: lado del cliente

el primer paso es «suscribirse»a un usuario para enviar mensajes.

suscribirse a un usuario requiere dos cosas., Primero, obtener permiso del usuario para enviarles mensajes push. En segundo lugar, obtener un PushSubscription del navegador.

a PushSubscription contiene toda la información que necesitamos para enviar un mensaje push a ese usuario.Usted puede» Tipo de » pensar en esto como un ID para el dispositivo de ese usuario.

todo esto se hace en JavaScript con el PushAPI.

antes de suscribirse a un usuario, deberá generar un conjunto de» claves de servidor de aplicaciones», que cubriremos más adelante.

Las claves del servidor de aplicaciones, también conocidas como claves insulsas, son exclusivas de su servidor., Permiten que el servicio apush sepa qué servidor de aplicaciones suscribió a un usuario y se asegure de que es el mismo servidor que activa los mensajes push para ese usuario.

una vez que haya suscrito al usuario y tenga un PushSubscription, deberá enviar los detallesPushSubscription a su backend / servidor. En tu servidor, guardarás esta suscripción en una base de datos y la usarás para enviar un mensaje push a ese usuario.,

Paso 2: Enviar un mensaje Push

Cuando desee enviar un mensaje push a sus usuarios, debe realizar una llamada API a un servicio pushservice. Esta llamada a la API incluiría qué datos enviar, a quién enviar el mensaje y cualquier criterio sobre cómo enviar el mensaje. Normalmente, esta llamada a la API se realiza desde su servidor.

algunas preguntas que podrías hacerte:

  • ¿Quién y qué es el servicio push?

  • ¿Qué aspecto tiene la API? Es JSON, XML, algo más?

  • ¿Qué puede hacer la API no?,

¿Quién y Qué es el Servicio Push?

un servicio push Recibe una solicitud de red, la valida y entrega un mensaje push al navegador apropiado. Si el navegador no está conectado, el mensaje se pone en cola hasta que el navegador se conecte.

Cada navegador puede usar cualquier servicio push que desee, es algo que los desarrolladores no tienen controlover. Esto no es un problema porque todos los servicios push esperan la misma llamada a la API. Lo que significa que no tiene que importarte quién es el servicio push. Solo necesita asegurarse de que su llamada API sea válida.,

para obtener la URL adecuada para activar un mensaje push (es decir, la URL del Servicio push) solo necesita mirar el valor endpoint en un PushSubscription.

a continuación se muestra un ejemplo de los valores que obtendrá de una suscripción Push:

Las claves de la Suscripción se cubrirán más adelante.

¿qué aspecto tiene la API?

he mencionado que todos los servicios Web push esperan la misma llamada a la API. Esa API es el empuje web Protocol.It es un estándar IETF que define cómo hacer una llamada API a un servicio push.,

la llamada a la API requiere que se establezcan ciertos encabezados y que los datos sean un flujo de bytes. Veremos las bibliotecas que pueden realizar esta llamada de API para nosotros, así como cómo hacerlo nosotros mismos.

¿qué puede hacer la API?

la API proporciona una forma de enviar un mensaje a un usuario, con / sin datos, y proporciona instrucciones sobre cómo enviar el mensaje.

los datos que envíes con un mensaje push deben estar cifrados. La razón de esto es que evita que los servicios push, que podrían ser cualquier persona, puedan ver los datos enviados con el mensaje push., Esto es importante dado que es el navegador quien decide qué servicio push touse, lo que podría abrir la puerta a los navegadores que utilizan un servicio push que no es Seguro o seguro.

cuando desencadena un mensaje push, el servicio push recibirá la llamada a la API y pondrá en cola themessage. Este mensaje permanecerá en cola hasta que el dispositivo del Usuario se conecte y pushservice pueda entregar los mensajes. Las instrucciones que puede dar al Servicio push definen cómo se pone en cola el mensaje push.

las instrucciones incluyen detalles como:

  • El tiempo de vida para un mensaje push., Esto define cuánto tiempo se debe poner en cola un mensaje antes de que se elimine y no se entregue.

  • Definir la urgencia del mensaje. Esto es útil en caso de que el servicio push esté preservando la vida útil de la batería del usuario solo entregando mensajes de alta prioridad.

  • Dale a un mensaje push un nombre de «tema» que reemplazará cualquier mensaje pendiente con este nuevo mensaje.,

Paso 3: evento Push en el dispositivo del Usuario

Una vez que hayamos enviado un mensaje push, el servicio push mantendrá su mensaje en su servidor hasta que se produzcan los siguientes eventos:

  1. El dispositivo se conecta y el servicio push entrega el mensaje.
  2. El mensaje expira. Si esto ocurre, el servicio push elimina el mensaje de su cola y nunca se entregará.,

Cuando el servicio push entrega un mensaje, el navegador recibirá el mensaje, descifrará anydata y enviará un evento push en su service worker.

un service worker es un archivo JavaScript «especial». El navegador puede ejecutar este JavaScript sin que su página esté abierta. Incluso puede ejecutar este JavaScript cuando el navegador está cerrado. Un service worker también tiene API, como push, que no están disponibles en la página web (es decir, API que no están disponibles fuera de un script de service worker).,

es dentro del evento ‘push’ del trabajador de servicio que puede realizar cualquier tarea en segundo plano. Puede realizar llamadas de análisis, almacenar páginas en caché sin conexión y mostrar notificaciones.

ese es todo el flujo para la mensajería push. Vamos a ir a través de cada paso con más detalle.

Feedback

¿fue útil esta página?
¿Cuál fue la mejor cosa acerca de esta página?
me ayudó a completar mi objetivo(s)
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.,

tenía la información que necesitaba
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

tenía información precisa
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

era fácil de leer
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

Algo
Gracias por los comentarios., Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

No
¿Qué fue lo peor de esta página?
no me ayudó a completar mi(s) Objetivo (s)
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

fue la falta de información que yo necesitaba
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.,

tenía información inexacta
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

era difícil de leer
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

Algo
Gracias por los comentarios. Si tiene ideas específicas sobre cómo mejorar esta página, cree un problema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *