Service Worker - Entenda o que é e como funciona

Entenda o que é um Service Worker, por que ele é essencial para Push Notifications e como configurá-lo corretamente no seu site com o Pushnews.
Written by Inngage
Updated 2 weeks ago

Você já ouviu falar em Service Workers, mas ainda não entende exatamente como eles funcionam ou por que são essenciais para Push Notifications? Neste guia, você vai descobrir o papel fundamental desse recurso no seu site, entender como ele se conecta à Inngage e aprender as boas práticas exigidas pelos navegadores para garantir que tudo funcione da forma certa.

O que é um Service Worker?

Um Service Worker é um script JavaScript executado em segundo plano pelo navegador, independente da página web. Ele permite implementar funcionalidades avançadas no seu site, como:

Push Notifications

Cache inteligente de arquivos

Funcionalidades offline

Interceptação de requisições

📌 No contexto de notificações push, o Service Worker é obrigatório para que o navegador possa receber e exibir mensagens — mesmo quando o usuário não está com o site aberto.

Como funciona com a Inngage?

A sequência abaixo mostra como o Service Worker atua na entrega de notificações:

1. A Inngage solicita a permissão do visitante para enviar notificações.

2. Quando o visitante aceita, o navegador instala o Service Worker no domínio do site.

3. Esse Service Worker passa a “escutar” comunicações vindas da Inngage.

4. Quando uma nova mensagem é enviada, o Service Worker exibe a notificação na tela do usuário.

Para funcionar corretamente, o Service Worker precisa seguir regras impostas pelo protocolo Web Push, respeitado por todos os navegadores modernos.

Regras obrigatórias:

 Apenas um Service Worker pode ser registrado por domínio

 O arquivo precisa estar acessível na raiz ou em um caminho com permissão explícita (via header)

 Ele deve ser hospedado no mesmo domínio do site. Não pode estar em um domínio ou subdomínio diferente

 O navegador não aceita Service Workers carregados via <script> na página

⚠️ Essas regras são definidas pelos padrões da web (W3C) — não são limitações da Inngage.

Perguntas Frequentes

1. Posso usar um Service Worker hospedado em outro domínio?

Não. Por questões de segurança, o protocolo de Web Push proíbe o uso de Service Workers externos.

2. Posso incluir o conteúdo do Service Worker em um <script> dentro do HTML?

Também não. O Service Worker precisa ser um arquivo JS independente, hospedado diretamente no servidor.

3. Meu domínio pode enviar Push Notifications sem Service Worker?

Não. O Service Worker é um componente essencial. Sem ele, o navegador não é capaz de exibir notificações push.

4.E se eu instalar a tag da Inngage, mas não configurar o Service Worker?

Nesse caso, a Inngage tentará solicitar permissão via modal e pop-up. Porém:

⚠️ Esse fluxo exige dupla confirmação do visitante

⚠️ O resultado é uma redução drástica na taxa de opt-in

✅ On Site Notifications: funcionaram normalmente mesmo sem a instalação do Service Worker

✅ Recomendado: instalar corretamente o Service Worker para garantir conversões mais altas

5. Posso hospedar o Service Worker em um subdiretório?

Sim, desde que você configure o cabeçalho Service-Worker-Allowed: / na resposta HTTP.

👉 Saiba como fazer isso neste guia completo.

Meu site já utiliza um Service Worker. Como integrar o da Inngage?

É possível combinar os dois scripts em um único Service Worker.

👉 Veja como integrar manualmente neste artigo.

O Service Worker da Inngage é seguro?

Sim. O script é auditável e não acessa nenhuma informação pessoal do visitante.

Ele tem apenas uma função: exibir as notificações para os usuários que concederam permissão.

🔎 Caso deseje, você pode revisar o código-fonte completo clicando aqui.
Did this answer your question?