Service Worker: comprenda qué es y cómo funciona

Entiende qué es un Service Worker, por qué es esencial para las Notificaciones Push y cómo configurarlo correctamente en tu sitio web con Pushnews.
Escrito por Inngage
Actualizado hace 1 semana

¿Has oído hablar de los Service Workers, pero aún no entiendes exactamente cómo funcionan o por qué son esenciales para las notificaciones push? En esta guía, descubrirá el papel fundamental que desempeña esta función en su sitio web, comprenderá cómo se conecta a Inngage y aprenderá las mejores prácticas que requieren los navegadores para garantizar que todo funcione correctamente.

¿Qué es un Service Worker?

Un Service Worker es un script de JavaScript que se ejecuta en segundo plano del navegador, independientemente de la página web. Le permite implementar funciones avanzadas en su sitio web, como:

• Notificaciones push

• Almacenamiento en caché de archivos inteligente

• Funciones sin conexión

• Interceptación de solicitudes

📌 En el contexto de las notificaciones push, el Service Worker es necesario para que el navegador pueda recibir y mostrar mensajes, incluso cuando el usuario no tiene el sitio web abierto

¿Cómo funciona con Inngage?

La siguiente secuencia muestra cómo actúa el Service Worker al entregar notificaciones:

  1. Inngage solicita al visitante permiso para enviar notificaciones.
  2.  Cuando el visitante acepta, el navegador instala el Service Worker en el dominio del sitio web.
  3. 3. Este Service Worker comienza a “escuchar” las comunicaciones provenientes de Inngage.
  4. Cuando se envía un mensaje nuevo, el Service Worker muestra la notificación en la pantalla del usuario.

Para funcionar correctamente, el Service Worker debe seguir las reglas impuestas por el protocolo Web Push, respetadas por todos los navegadores modernos.

Reglas obligatorias:

• Solo se puede registrar un Service Worker por dominio

• El archivo debe ser accesible desde la raíz o desde una ruta con permiso explícito (a través del encabezado)

• Debe estar alojado en el mismo dominio que el sitio web. No puede estar en un dominio o subdominio diferente

• El navegador no acepta Service Workers cargados a través de <script> en la página

⚠️ Estas reglas están definidas por los estándares web (W3C); no son limitaciones de Inngage.

Preguntas frecuentes

1. ¿Puedo utilizar un Service Worker alojado en otro dominio?

No. Por razones de seguridad, el protocolo Web Push prohíbe el uso de Service Workers externos.

2. ¿Puedo incluir contenido de Service Worker en un <script> dentro de HTML?

Ni. El Service Worker debe ser un archivo JS independiente, alojado directamente en el servidor.

3. ¿Puede mi dominio enviar notificaciones push sin un Service Worker?

No. Service Worker es un componente esencial. Sin ella, el navegador no puede mostrar notificaciones push.

4. ¿Qué pasa si instalo la etiqueta Inngage pero no configuro el Service Worker?

En este caso, Inngage intentará solicitar permiso a través de un modo y una ventana emergente. A pesar de:

⚠️ Este flujo requiere doble confirmación por parte del visitante

⚠️ El resultado es una reducción drástica en la tasa de aceptación

Notificaciones en el sitio: funcionaron normalmente incluso sin instalar Service Worker

Recomendado: Instale Service Worker correctamente para garantizar mayores conversiones

5. ¿Puedo alojar el Service Worker en un subdirectorio?

Sí, siempre que configure el encabezado Service-Worker-Allowed: / en la respuesta HTTP.

👉Aprende cómo hacerlo en esta guía completa.

Mi sitio web ya utiliza un Service Worker. ¿Cómo integrar Inngage?

Es posible combinar ambos scripts en un único Service Worker.

👉Vea cómo integrar manualmente en este artículo.

¿Es seguro Inngage Service Worker?

Sí. El script es auditable y no accede a ninguna información personal del visitante.

Tiene una sola función: mostrar notificaciones a los usuarios que han otorgado permiso.

🔎 Si lo deseas puedes revisar el código fuente completo haciendo clic aquí.

¿Pudimos contestar tu pregunta?