Visão geral
Este guia orienta você na solução de problemas da configuração do Web SDK do OneSignal. Antes de continuar, revise a Configuração do Web SDK para garantir que você concluiu todas as etapas. Os motivos mais comuns pelos quais o web push parece não estar funcionando estão relacionados às configurações de notificação do seu navegador e dispositivo:Compatibilidade de navegadores
Os usuários podem ver solicitações de permissão da web, mas não podem se inscrever em notificações push nos modos de navegação anônima, privada ou convidado.Configurações de notificação do dispositivo
As configurações de notificação do dispositivo são a causa mais comum de notificações web push não aparecerem. Verifique as seguintes configurações, incluindo modos de foco (Não perturbe, Bateria fraca, etc.), antes de investigar outras causas.- Windows
- macOS
- Android
- iOS
Configurações de notificação do Windows 10
Configurações de notificação do Windows 10
- Selecione Iniciar > Configurações > Notificações e Ações > Receber notificações de aplicativos e outros remetentes
- Certifique-se de que seu site e navegador também estejam ativados.

Configurações de notificação do Windows 10
- Selecione Iniciar > Configurações > Sistema > Notificações

Configurações de notificação do Windows 11
- Ative Notificações
- Desative Não perturbe (durante os testes, as notificações serão exibidas quando esta opção estiver desativada)
- Role para baixo até Notificações de aplicativos e outros remetentes

Windows 11 Notificações de aplicativos e outros remetentes
- Certifique-se de que seus navegadores estejam ativados.

Lista de navegadores nas configurações de notificação do Windows 11
Problemas de exibição de solicitação
A seguir estão os motivos comuns pelos quais a solicitação de notificação push da web pode não ser exibida conforme esperado.Confirme se uma solicitação está configurada
Verifique a compatibilidade do navegador, modo de navegação anônima, privado ou convidado
Verifique as Configurações de Notificação do seu navegador
chrome://settings/content/notifications
Configurações de notificações do Chrome
- O usuário selecionou “Não permitir que sites enviem notificações”, o que impedirá a exibição da solicitação de permissão nativa. Deve mostrar “Os sites podem solicitar o envio de notificações” para permitir a exibição da solicitação de permissão nativa.
- O usuário adicionou
https://yoursite.comà lista “Não permitido enviar notificações”, o que impedirá a exibição da solicitação de permissão nativa. Isso deve ser removido da lista para permitir a exibição da solicitação de permissão nativa.
- Chrome - Esta página explica como gerenciar notificações no Chrome acessando Configurações > Privacidade e segurança > Configurações do site > Notificações, onde você pode controlar o comportamento padrão e gerenciar permissões para sites individuais.
- Firefox - Este guia cobre as notificações Web Push do Firefox, explicando como gerenciar permissões de notificação através de Configurações > Privacidade e Segurança > Notificações, e como controlar permissões para sites específicos através do ícone de informações do site na barra de endereços.
- Safari - Este guia da Apple explica como personalizar notificações do Safari no Mac através de Safari > Preferências > Sites > Notificações, onde você pode gerenciar quais sites podem enviar notificações e controlar o comportamento das notificações através das Preferências do Sistema.
- Edge - Este artigo detalha como gerenciar notificações do Edge navegando para Configurações > Privacidade, pesquisa e serviços > Permissões do site > Notificações, ou clicando no ícone de informações do site na barra de endereços.
Os requisitos do iOS/iPadOS não foram atendidos
Etapas de solução de problemas
Depois de verificar o acima, siga estas etapas para solucionar problemas da configuração do Web SDK do OneSignal.Abra o console das ferramentas de desenvolvedor do navegador
- Desktop
- Android
- iOS
- Chrome: Clique com o botão direito na página, clique em Inspecionar e clique na aba Console da janela popup que se abre.
- Firefox: Clique com o botão direito na página, clique em Inspecionar elemento e clique na aba Console da janela popup que se abre.
- Safari: Vá para Safari → Preferências → Avançado e certifique-se de que Mostrar menu Desenvolver na barra de menus esteja marcado. Em seguida, em sua página da web, clique com o botão direito, clique em Inspecionar elemento e clique na aba Console da janela popup que se abre.

Console das Ferramentas de Desenvolvedor do Desktop
Habilite o log do Web SDK
- Você deve ver
undefinedcomo resultado. - Feche a aba e abra uma nova para a mesma página. Apenas atualizar não acionará todos os eventos de inicialização do SDK.
- Você começará a ver os logs do SDK do OneSignal no Console.

Console com logs detalhados do SDK
Erros de configuração
Você pode encontrar os seguintes erros após a inicialização do OneSignal:
Erro de inicialização duplicada do SDK
init do Web SDK do OneSignal está sendo chamado mais de uma vez, frequentemente causado pela combinação da configuração do plugin WordPress ou da integração Shopify com código manual, ou pela adição acidental do código init do OneSignal várias vezes.
Como corrigir: Remova quaisquer chamadas init duplicadas. Se estiver usando o plugin WordPress ou a integração Shopify, remova qualquer código OneSignal manual dos seus arquivos.

O exemplo mostra que a URL definida no painel do OneSignal http://127.0.0.1:5501 não é a origem do site atual que você está visitando.
- Protocolo: Deve ser
https://(para testes locais, consulte Configuração Localhost) - Domínio:
example.comvswww.example.com - Subdomínio:
app.example.comvsexample.com

Exemplo do erro de site HTTP não suportado
https://your-label.os.tc, e não na origem real do seu site. O web push não é suportado em sites HTTP ou sites que não podem hospedar service workers.
Como corrigir: Ambas as opções exigem que seus usuários se inscrevam novamente porque eles estão inscritos no subdomínio os.tc, não no seu site.
- Crie um novo aplicativo OneSignal e defina o novo App ID no seu código de inicialização. Isso permite que você continue enviando push do aplicativo antigo para notificar os usuários. Envie notificações informando aos usuários que o site foi atualizado e que eles devem se inscrever novamente. Oferecer um desconto ou incentivo ajuda. Defina a “Launch URL” para uma página de destino com um prompt de reinscrição (Sino, Link Personalizado ou Slide de Categoria). Consulte Prompts de permissão para mais detalhes.
-
Mantenha o mesmo App ID usando a API Atualizar um aplicativo para atualizar
chrome_web_originesafari_site_originpara a sua origem HTTPS. Como os usuários se inscreveram no subdomínioos.tc, o navegador deles não tem permissões push para o seu domínio real. Eles serão solicitados novamente e, se se inscreverem de novo, terão duas Assinaturas de web push no mesmo navegador — causando notificações duplicadas. Para evitar duplicatas, exclua todos os assinantes atuais de web push antes de atualizar. Envie algumas notificações primeiro informando aos usuários que eles devem se inscrever novamente. Consulte Prompts de permissão para opções de prompt.
Erros de instalação do service worker
Se você receber a Solicitação de permissão nativa e clicar em “Permitir”, poderá encontrar os seguintes erros de instalação do service worker:https://your-site.com/’) with script (‘https://your-site.com/...’): A bad HTTP response code (404) was received when fetching the script.https://www.yoursite.com/’) with script (‘https://www.yoursite.com/...’): A bad HTTP response code (403) was received when fetching the script.
Exemplo de erro de instalação do service worker

Erro de tipo MIME no service worker

Erro de redirecionamento no console
Encontre o caminho do seu service worker
OneSignalSDKWorker.js na raiz do seu site, a menos que você defina um caminho personalizado. Consulte Service worker do OneSignal.WordPress: não faça upload de um worker para a raiz do site nem defina um caminho personalizado. O plugin hospeda o arquivo em sdk_files. Abra essa URL na próxima etapa. Consulte Configuração do WordPress.Visite o arquivo do service worker diretamente no seu navegador
- Padrão de Site Típico (raiz):
https://yoursite.com/OneSignalSDKWorker.js - Plugin WordPress (v3):
https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js(nome da pasta no WordPress.org; instalações via zip podem diferir) - Caminho personalizado (apenas dashboard de Site Típico ou
initde Código Personalizado):https://yoursite.com/your-custom-location/OneSignalSDKWorker.js
Verifique se o arquivo carrega
- Você deve ver o seguinte código JavaScript:
JavaScript
- Este arquivo deve ser servido com um
content-typedeapplication/javascript. - Não pode haver redirecionamentos para este arquivo. Os arquivos devem ser hospedados no mesmo domínio do seu site (sem CDN ou domínios proxy).
Notificações não exibidas
Esta seção assume:- Você revisou o guia Notificações não exibidas: Web Push para conhecer os motivos comuns pelos quais as notificações podem não estar aparecendo no seu dispositivo.
- Você viu a Solicitação de permissão nativa e clicou em “Permitir”. Consulte Problemas de exibição de solicitação acima se você não se inscreveu através da solicitação de permissão nativa.
Obtenha seu ID de Assinatura
- A URL da página em que você está, caso haja alguma confusão.
-
Se o navegador atual suporta notificações push.
truesignifica que o navegador suporta notificações push.falsesignifica que o navegador não suporta notificações push.
-
Se você está inscrito em notificações no navegador.
truesignifica que você permitiu permissões push para esta URL.falsesignifica que você não permitiu ou negou permissões push para esta URL.
-
Se você optou por participar com o OneSignal.
truesignifica que sua Assinatura está inscrita em notificações push no OneSignal.falsesignifica que sua Assinatura não está inscrita em notificações push no OneSignal. Verifique se o métodooptOut()está sendo chamado no seu site.
-
Seu ID de Assinatura do OneSignal.
- Salve isso para a próxima etapa. Este é o ID que você usará para enviar uma notificação push para você mesmo.

Exemplo de saída de informações do usuário no console
Envie uma notificação para você mesmo
Teste com o Chrome
- Em uma nova aba, abra
chrome://gcm-internals. - Clique no botão “Start Recording” no canto superior esquerdo. Certifique-se de ver “Connection State: CONNECTED”.
- Deixe isso aberto e envie outra notificação push para sua Assinatura de web push do Chrome.
- Você deve ver algo no “Receive Message Log” se recebeu.

Log de internos do GCM
- Se você não ver um “Data msg received”, então seu navegador Chrome não está recebendo a notificação de forma alguma. Entre em contato com o Suporte do OneSignal com os logs do GCM internals.
- Se você ver “Data msg received” mas ainda não recebeu uma notificação, continue para a próxima etapa.
- Abra uma nova aba para
chrome://serviceworker-internals - Pesquise por
Scope: https://your-site.com(substituayour-site.compelo domínio real do seu site). - Clique em Inspect, ou Start -> Inspect. Um popup das Ferramentas de Desenvolvedor do Chrome aparecerá.

Inspecionando o service worker
- No popup das Ferramentas de Desenvolvedor do Chrome para o nosso service worker, clique na aba Console e execute
OneSignalWorker.log.trace();. Deve retornarundefined. Quaisquer mensagens do nosso service worker devem agora aparecer neste popup.
support@onesignal.comPor favor inclua:- Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
- Seu OneSignal App ID
- O External ID ou Subscription ID se aplicável
- A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
- Quaisquer logs ou mensagens de erro relevantes
Perguntas frequentes
Por que vejo “SDK already initialized”?
O códigoinit do Web SDK do OneSignal está sendo chamado mais de uma vez na página. Isso geralmente acontece ao combinar o plugin WordPress com código manual, ou quando a tag de init está incluída em vários templates de página. Remova as chamadas init duplicadas para resolver.
Posso usar web push em sites HTTP?
Não. Web push requer HTTPS porque os service workers — que cuidam da entrega do push — só funcionam em origens seguras. Se você usava anteriormente a opção “My site is not fully HTTPS”, você deve migrar para HTTPS. Consulte Erros de configuração para as etapas de migração.Como testo web push no localhost?
Você pode testar emlocalhost durante o desenvolvimento. Consulte Configuração Localhost para instruções de configuração. Observe que o teste em localhost só funciona em navegadores baseados em Chromium.




