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.