Instalação do SDK
Snippet, service worker, origens permitidas e os atributos de configuração da tag script.
Loading documentation…
O pushwi.js roda na página: pede permissão, inscreve o navegador e conversa com a API. O pushwi-sw.js é o service worker que fica na raiz do seu domínio, recebe os pushes e mostra as notificações.
Cole antes de fechar o </head>, em todas as páginas onde o visitante pode se inscrever. O async evita travar o carregamento da página.
A tag aceita três atributos:
| Atributo | Obrigatório | O que faz |
|---|---|---|
data-site | Sim, no modo automático | ID público do site. Sem ele, o SDK carrega mas não faz nada até você chamar pushwi("init", "pub_…"). |
data-api | Não | Endereço da API. Padrão https://api.pushwi.com. |
data-manual | Não | Desliga a inscrição automática. O pedido de permissão só acontece quando você chamar pushwi("subscribe"). |
No modo automático, o padrão, o SDK busca a configuração do site e segue o que foi definido em Widget no painel. Ele espera o gatilho (carregamento da página ou primeiro clique) e o atraso configurado, mostra o soft-ask se estiver ligado e só então pede a permissão do navegador.
Quando o visitante já deu permissão antes, o SDK pula essa espera e reenvia a inscrição a cada página carregada. É assim que tags e atributos novos chegam ao Pushwi.
Com data-manual, nada acontece sozinho. Use quando quiser pedir a permissão a partir de um botão seu:
O web push funciona em Chrome, Edge, Firefox e Safari no desktop, e em Chrome e Firefox no Android. No iPhone e no iPad, a partir do iOS 16.4, só funciona quando o visitante adiciona o site à tela de início. Numa aba comum do Safari no iOS, o SDK não pede permissão.
Em navegadores sem suporte, o SDK não faz nada e não gera erro no console.
O pushwi.js carrega de forma assíncrona. Para chamar comandos antes de ele terminar de carregar, crie a fila logo depois do snippet:
Os comandos enfileirados rodam assim que o SDK carrega, antes da inscrição automática. Por isso tags, atributos e login definidos assim já vão na primeira inscrição. Os comandos estão na referência do SDK.