Requisitos
- Site com HTTPS: O push web não funciona em HTTP ou em modos de navegação anônima/privada.
- Acesso ao servidor: Você precisará fazer upload de um arquivo service worker para o seu site.
- Origem única: O push web segue a política de mesma origem. Se você tiver múltiplas origens (domínios/subdomínios), precisará de múltiplos apps OneSignal (um por origem). Para cumprir essa limitação do navegador, você pode:
- Redirecionar o tráfego para uma única origem para inscrições.
- Criar múltiplos apps OneSignal, um por origem.
Configurar seu app e plataforma OneSignal
No dashboard do OneSignal:- Acesse Settings > Push & In-App > Web.
- Selecione o tipo de integração Custom Code.
Configuração do site
Adicione os detalhes do site:- Site Name: O nome do seu site e o título de notificação padrão.
- Site URL: A origem exata do seu site, por exemplo
https://yourdomain.com. Evite usarwww.se o seu site não estiver configurado dessa forma. Consulte os Requisitos se você tiver múltiplas origens. - Auto Resubscribe: Habilite isso para reinscrever automaticamente os usuários que limpam os dados do navegador quando retornam ao seu site (sem nova solicitação de permissão).
- Default Icon URL: Faça upload de uma imagem PNG ou JPG quadrada de
256x256pxque aparece em notificações e prompts. Se não definida, um ícone de sino é usado como padrão.

Configurações Web no dashboard do OneSignal
Testes locais
Para testar no localhost, use um app OneSignal separado do seu app de produção e adicioneallowLocalhostAsSecureOrigin: true às suas opções de init.
Se você estiver testando localhost em HTTPS com um certificado autoassinado, pode ser necessário dizer ao Chrome para ignorar certificados inválidos com --allow-insecure-localhost. Firefox e Safari fornecem mecanismos integrados para adicionar exceções para certificados de segurança.
Certificado Safari web push (opcional)
O OneSignal fornece certificados Safari automaticamente sem custo. Habilite isso apenas se você tiver certificados Safari Web Push existentes que precisa usar.
Opção de upload de certificado Safari para certificados existentes
Safari Web .p12 Push Certificate e insira a senha.
Clique em Save para continuar.
Upload de arquivos service worker
Na próxima página da configuração de push web, você receberá o arquivo service workerOneSignalSDKWorker.js.
O SDK web procura esse arquivo na raiz do seu site por padrão, por exemplo https://yourdomain.com/OneSignalSDKWorker.js. Você pode alterar o local, o nome e o escopo do arquivo no código.
Service worker do OneSignal
Adicionar código ao site
Adicione este código à seção<head> do seu site. Substitua:
YOUR_ONESIGNAL_APP_IDpelo seu App ID real do dashboard do OneSignalYOUR_SAFARI_WEB_IDpelo seu Safari Web ID real do dashboard do OneSignal
Suporte a push web no iOS
A Apple começou a oferecer suporte a notificações push web em iPhones e iPads com iOS 16.4+. Ao contrário dos dispositivos Android onde o push web simplesmente “funciona” ao acessar em um navegador compatível, a Apple adicionou alguns requisitos extras, como um arquivomanifest.json e uma ação do usuário para adicionar seu site à tela inicial.
Configuração de push web para iOS
manifest.json necessário e guie os usuários para adicionar seu site à tela inicial.Testando a integração do OneSignal SDK
Este guia ajuda você a verificar se sua integração do OneSignal SDK está funcionando corretamente testando notificações push e registro de inscrição.Verifique inscrições de web push
Inicie seu site em um dispositivo de teste.
- Use Chrome, Firefox, Edge ou Safari durante os testes.
- Não use modo Incógnito ou navegação privada. Usuários não podem se inscrever em notificações push nestes modos.
- Os prompts devem aparecer baseados na sua configuração de permission prompts.
- Clique em Allow no prompt nativo para se inscrever em notificações push.

Prompt de permissão nativo de web push
Verifique seu dashboard OneSignal
- Vá para Audience > Subscriptions.
- Você deve ver uma nova entrada com o status Subscribed.

Dashboard mostrando inscrição com status 'Subscribed'
Configure inscrições de teste
Inscrições de teste são úteis para testar uma notificação push antes de enviar uma mensagem.Adicione a Test Users.

Adicionando um dispositivo a Test Users
Nomeie sua inscrição.
Crie um segmento de usuários de teste.
Nomeie o segmento.
Test Users (o nome é importante porque será usado depois).Adicione o filtro Test Users e clique em Create Segment.

Criando um segmento 'Test Users' com o filtro Test Users
Envie push de teste via API
Obtenha seu App API Key e App ID.
Atualize o código fornecido.
YOUR_APP_API_KEY e YOUR_APP_ID no código abaixo com suas chaves reais. Este código usa o segmento Test Users que criamos anteriormente.Execute o código.
Verifique imagens e entrega confirmada.

Notificação push expandida com imagem no Chrome macOS
Verifique por entrega confirmada.
Relatórios de mensagens de notificação push
support@onesignal.com com o seguinte:
- A requisição e resposta da API (copie e cole em um arquivo
.txt) - Seu Subscription ID
- A URL do seu website com o código OneSignal
Identificação de usuário
A seção anterior cobriu a criação de Inscrições de web push. Esta seção expande para identificar Usuários através de todas as suas inscrições (incluindo push, email e SMS) usando o OneSignal SDK. Cobre External IDs, tags, inscrições multicanal, privacidade e rastreamento de eventos para ajudá-lo a unificar e engajar usuários em todas as plataformas.Atribua External ID
Use um External ID para identificar usuários consistentemente através de dispositivos, endereços de email e números de telefone usando o identificador de usuário do seu backend. Isso garante que suas mensagens permaneçam unificadas através de canais e sistemas de terceiros (especialmente importante para Integrações). Defina o External ID com o métodologin do SDK cada vez que um usuário é identificado pelo seu app.
Adicione Tags
Tags são pares chave-valor de dados string que você pode usar para armazenar propriedades de usuário (comousername, role ou preferências) e eventos (como purchase_date, game_level ou interações de usuário). Tags potencializam Personalização de Mensagem avançada e Segmentação permitindo casos de uso mais avançados.
Defina tags com os métodos addTag e addTags do SDK conforme eventos ocorrem no seu app.
Neste exemplo, o usuário alcançou o nível 6 identificável pela tag chamada current_level definida com um valor de 6.

Um perfil de usuário no OneSignal com uma tag chamada "current_level" definida como "6"

Editor de segmento mostrando um segmento direcionado a usuários com um valor current_level maior que 4 e menor que 10

Captura de tela mostrando uma notificação push direcionada ao segmento Nível 5-10 com uma mensagem personalizada
Adicione inscrições de email e/ou SMS
O OneSignal SDK cria inscrições de web push automaticamente quando os usuários optam por receber. Você também pode alcançar usuários através de canais de email e SMS criando as inscrições correspondentes.- Use o método
addEmailpara criar inscrições de email. - Use o método
addSmspara criar inscrições de SMS.

Um perfil de usuário com inscrições push, email e SMS unificadas por External ID
- Obtenha consentimento explícito antes de adicionar inscrições de email ou SMS.
- Explique os benefícios de cada canal de comunicação aos usuários.
- Forneça preferências de canal para que usuários possam selecionar quais canais eles preferem.
Privacidade e consentimento do usuário
Para controlar quando OneSignal coleta dados de usuário, use os métodos de controle de consentimento do SDK:setConsentRequired(true): Previne coleta de dados até que consentimento seja dado.setConsentGiven(true): Habilita coleta de dados uma vez que consentimento é concedido.
Dados coletados pelo SDK
Tratamento de dados pessoais
Escute eventos de push, usuário e in-app
Use listeners do SDK para reagir a ações de usuário e mudanças de estado. O SDK fornece vários event listeners para você conectar. Veja nosso guia de referência do SDK para mais detalhes.Eventos de notificação push
- Click event listener: Detecte quando uma notificação é tocada.
- Foreground lifecycle listener: Controle como notificações se comportam em foreground.
Mudanças de estado do usuário
- User state change event listener: Detecte quando o External ID é definido.
- Permission observer: Rastreie a interação específica do usuário com o prompt de permissão push nativo.
- Push subscription change observer: Rastreie quando o status de inscrição push muda.