O que é um Service Worker?
Um Service Worker é um arquivo JavaScript que possibilita um conjunto de funcionalidades adicionais nos Websites. Entre outras coisas, ele possibilita e é vital para as Push Notifications.
Como funciona?
Primeiramente, o Pushnews é responsável por fazer o pedido de inscrição nas Push Notifications (1). Segue-se o opt-in do visitante, que faz com que ele se torne um inscrito em Push — nesse momento o Service Worker é instalado no navegador do visitante (2).
A partir desse momento, o Service Worker fica à escuta de comunicações provenientes do Pushnews e assim que recebe um pedido de exibição de Push (3), ele procede com a criação da Push Notification na tela do inscrito (4).
Requisitos do Service Worker
Apenas pode existir um arquivo Service Worker por site
O arquivo Service Worker tem que estar na raiz do domínio
O Service Worker tem que estar instalado no próprio domínio e nunca em outro domínio ou sub-domínio.
Estes requisitos são imposições do protocolo Web Push e não do Pushnews. Os navegadores respeitam este protocolo e não existe forma de contornar.
Perguntas Frequentes
Posso colocar o service worker noutro domínio?
Não. O protocolo de Web Push não permite isso.
Posso incluir o código no Service Worker num script dentro do site?
Não. Veja os Requisitos do Service Worker.
Existe alguma alternativa para que o meu domínio possa enviar Push Notification sem ter um Service Worker instalado?
Não. Veja os Requisitos do Service Worker.
O que acontece se eu instalar a tag do Pushnews e não instalar o Service Worker?
O Pushnews está preparado para este cenário e irá apresentar uma modal para os visitantes solicitando a inscrição. Após click em "sim", irá abrir uma Pop-up onde o visitante será perguntado novamente se quer se inscrever nas Push Notifications. Após este segundo "sim", o visitante se tornará inscrito.
Este método é extremamente ineficaz e faz com que a taxa de inscritos reduza drasticamente.
Posso colocar o Service Worker num subdiretório do mesmo domínio?
Sim, mas precisa incluir um header especial nesse arquivo. Conforme explicado neste artigo.
O meu site já tem um Service Worker, o que fazer?
Você pode incluir o Service Worker do Pushnews dentro do atual. Aprenda como fazer isso neste artigo.
O Service Worker do Pushnews é seguro?
Sim.
O Service Worker do Pushnews é completamente seguro e não acessa nenhum tipo de dados.
Ele é meramente responsável pela funcionalidade de exibir Push Notifications no dispositivo que condeceu permissão.
Em caso de dúvidas, convidamos a análise do nosso código-fonte, disponível aqui.