Web Push API
A Web Push API e um standard W3C que permite aos sites web enviar notificacoes push para browsers. Define a forma como os servidores web estabelecem subscricoes push, autenticam o envio e entregam as mensagens, independentemente do fornecedor de browser.
Definicao
A Web Push API e um standard tecnico do W3C (World Wide Web Consortium) que permite aos sites web enviar mensagens push para os browsers dos utilizadores. Junto com a Service Worker API, forma a base tecnica de todas as Browser Push Notifications.
O standard esta disponivel em todos os browsers desktop comuns (Chrome, Firefox, Edge, Safari no macOS) e no Android em Chrome e Firefox. Nao existe um equivalente de App Push nativo para iOS no Web Push API; no iOS, o Push so e possivel atraves de Web Apps instaladas.
Componentes centrais da Web Push API
A Web Push API consiste em tres componentes centrais:
1. Subscricao Push
Uma subscricao Push e criada quando um utilizador autoriza as notificacoes Push. O browser gera um objeto de subscricao unico contendo:
- endpoint URL: Um URL unico do fornecedor de push (por exemplo, https://fcm.googleapis.com/... para Chrome) atraves do qual as notificacoes sao enviadas
- keys: Chaves criptograficas para a criptografia das mensagens (p256dh e auth)
Este objeto de subscricao e transmitido ao servidor e guardado. Nao contem dados de contacto pessoais.
2. VAPID (Voluntary Application Server Identification)
O VAPID e o mecanismo de autenticacao que identifica o servidor de envio de forma inequivoca. Antes do envio, um servidor gera um par de chaves VAPID:
- Chave publica: E transmitida ao browser durante o opt-in e usada para verificar o remetente
- Chave privada: Permanece no servidor e assina cada pedido de envio
O VAPID previne o abuso ao garantir que so o servidor autorizado pode enviar para uma subscricao. Plataformas como o SendSeven gerem as chaves VAPID de forma transparente.
3. Payload e criptografia
O conteudo de uma notificacao Push (titulo, texto, URL de imagem, link de destino) e encriptado no servidor antes do envio, transmitido atraves da rede encriptado e so desencriptado no browser destinatario. Isto garante que nem o fornecedor do servico push (Google, Mozilla, etc.) pode ler o conteudo.
Como funciona a entrega
O processo tecnico de uma notificacao Push em quatro passos:
- Subscricao: O browser cria uma subscricao Push e transmite-a ao servidor
- Armazenamento: O servidor guarda o endpoint da subscricao e as chaves
- Envio: O servidor envia um pedido HTTP POST para o endpoint de subscricao com o payload encriptado, autenticado via VAPID
- Entrega: O fornecedor de push (Google, Mozilla, etc.) entrega a mensagem ao browser; o Service Worker recebe o evento push e exibe a notificacao
Web Push API em plataformas como o SendSeven
Plataformas como o SendSeven abstraem todos os detalhes tecnicos da Web Push API. O gestor de marketing nao precisa de se preocupar com chaves VAPID, subscricoes de endpoints ou criptografia de payloads. O SDK do SendSeven trata disso, e a interface de campanhas oferece uma camada de gestao simples para envio e segmentacao.
O Developer que integra o SendSeven configura apenas uma vez o Service Worker e o SDK. Depois, todas as funcionalidades de Push ficam disponiveis atraves da plataforma ou da REST API.
Limites tecnicos a considerar
- TTL (Time to Live): Cada notificacao Push tem um periodo de validade (TTL). Se o dispositivo do utilizador estiver offline quando o servidor Push tenta a entrega, a mensagem fica em fila de espera ate ao TTL. Depois e eliminada sem entrega.
- Sem garantia de entrega: A Web Push API nao garante entrega garantida. Em caso de problemas de rede ou browser fechado sem Service Worker ativo, as mensagens podem nao ser entregues.
- Sem rastreio de leitura: A Web Push API nao notifica o servidor quando uma notificacao foi vista. Apenas os cliques podem ser rastreados se o Service Worker transmitir o evento de clique ao servidor.
- Sem iOS nativo: No iOS sem Web App instalada, a Web Push API nao esta disponivel.