Pular para o conteúdo principal

Problemas comuns de configuração

Verificar sua configuração do dashboard OneSignal

Certifique-se de ter completado cada passo no guia de configuração do WordPress:
  • Selecione a opção WordPress Plugin ao criar seu app OneSignal
  • Sua URL do Site deve corresponder exatamente à URL do navegador
    • Por exemplo, https://example.com não é o mesmo que https://www.example.com. Use uma versão consistentemente.
    • Apenas uma origem de site é suportada para push. Veja Same-origin policy.
  • Certifique-se de ter adicionado pelo menos um prompt de permissão.

Não adicione o código OneSignal manualmente

O plugin WordPress OneSignal automaticamente inclui o script de inicialização e Service Worker.
  • Não adicione código JavaScript init do OneSignal ao seu site.
  • Não use a Configuração de Código Personalizado com o plugin WordPress. Se precisar personalizar o método init, desinstale o plugin e adicione o código e o Service Worker manualmente.

Enviar notificação ao publicar post

Quando você publica um post, página ou tipo de post personalizado, o OneSignal pode enviar automaticamente uma notificação para seus assinantes.
Metabox do OneSignal Push Notifications——arraste para reposicionar se necessário

Metabox do OneSignal Push Notifications——arraste para reposicionar se necessário

Se você não vir a caixa de seleção Enviar notificação quando o post for publicado ou atualizado, verifique estes itens:
  1. Verifique as metaboxes à direita e na parte inferior do editor. Você pode arrastar e soltar conforme necessário.
  2. Verifique as Opções de Tela no topo do editor para garantir que a metabox OneSignal Push Notifications esteja marcada.
Opções de Tela mostrando a metabox OneSignal Push Notifications marcada

Opções de Tela mostrando a metabox OneSignal Push Notifications marcada

  1. Verifique se está usando um Tipo de Post Personalizado. Geralmente encontrado na URL como post_type=your_custom_type. Nesse caso, adicione o tipo de post personalizado ao campo Tipos de Post Personalizados nas configurações do plugin WordPress OneSignal.
Configurações do plugin WordPress OneSignal mostrando o campo Tipos de Post Personalizados

Exemplo de onde encontrar o nome do tipo de post personalizado


Como solucionar problemas do seu site

1

Verificar se o plugin está ativo e abrir ferramentas do desenvolvedor

Carregue seu site em uma janela de navegador normal (não anônimo) com o plugin habilitado.
Ferramentas de Desenvolvedor do navegador abertas com a aba Console selecionada em um site WordPress

Clique com o botão direito no seu site, clique em Inspecionar e abra a aba Console.

2

Verificar o console para erros OneSignal

Abra a aba Console, atualize a página e procure por quaisquer erros relacionados ao OneSignal em vermelho ou amarelo. Veja Erros comuns do Console OneSignal para ajuda.
3

Verificar status de assinatura no navegador

Após a página terminar de carregar e você não ver erros do OneSignal no Console, cole:
JavaScript
Se o visitante estiver assinado, retorna uma string (o Subscription ID). Se não estiver assinado ou a assinatura ainda não estiver pronta, você pode ver null ou um valor vazio. Se você ver OneSignal is not defined, aguarde alguns segundos e tente novamente, ou primeiro corrija os erros do Console em Erros comuns do Console OneSignal——o SDK pode ainda estar carregando via o loader diferido.
Console do navegador mostrando o resultado da string do id PushSubscription do usuário OneSignal

Encontre seu OneSignal Subscription ID no console.

4

Verificar Subscription ID no dashboard OneSignal

No dashboard do OneSignal, vá para Audience > Subscriptions e procure pelo ID retornado acima.
Campo de pesquisa de Subscriptions do dashboard OneSignal com busca de subscription ID

Procure no seu dashboard OneSignal pelo Subscription ID.

5

Enviar uma notificação push de teste

Se a assinatura existe e o status é Subscribed, siga o guia Push para enviar uma notificação. Se nada aparecer, veja Notificações não mostradas para correções específicas do navegador.

Erros comuns do console OneSignal

SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

SdkInitError no console mostrando incompatibilidade de origem da configuração de web push

Erro de incompatibilidade de URL do site.

Sua URL do site no dashboard OneSignal não corresponde ao seu domínio real. Certifique-se de que corresponde exatamente ao domínio que você vê no navegador.

PushPermissionNotGrantedError: The user dismissed the permission prompt.

O visitante recusou o prompt do navegador. Não aparecerá novamente até que um período de espera expire. Veja Prompts de permissão web para regras do navegador ou limpe os dados do site para tentar novamente imediatamente.

The OneSignal web SDK can only be initialized once.

Erro no console: o SDK web do OneSignal só pode ser inicializado uma vez

Erro de inicialização duplicada do OneSignal.

Você está carregando OneSignal duas vezes. Remova código OneSignal adicionado manualmente se você está usando o plugin.

Installing service worker failed.. 403 or 404 error

Erro no console: instalação do service worker falhou com erro 403 ou 404

Arquivo Service Worker ausente (403/404).

Certifique-se de que este arquivo está acessível (substitua your-site.com e ajuste o nome real da pasta do plugin se diferir do padrão): https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Se não, veja Suporte comum de plugin para corrigir problemas de CDN ou cache.

Suporte comum de plugin

CDNs e plugins de cache podem bloquear os arquivos necessários do OneSignal. Os caminhos abaixo assumem que o diretório do plugin é onesignal-free-web-push-notifications; ajuste se sua instalação usar um nome de pasta diferente.

Autoptimize

Em Excluded scripts, adicione:

WP Rocket

Em CDN > Exclude Files From CDN, adicione:

LiteSpeed Cache

Em CDN > Exclude Path, adicione:
Então pressione salvar.

WP Super Cache

  1. Vá para Settings > WP Super Cache > CDN
  2. Em Exclude if substring, inclua: onesignal-free-web-push-notifications
  3. Clique em Contents > Delete Cache

WP Engine

O WP Engine pode reescrever URLs de plugins via seu CDN. As regras de HTML Post-Processing são específicas de cada ambiente; o trecho abaixo é apenas um exemplo——confirme os caminhos com o suporte do WP Engine ou seu Portal do Usuário antes de aplicar. No WP Engine plugin > General Settings > HTML Post-Processing, você pode precisar de regras similares às seguintes. Substitua cada placeholder com os valores do seu site e hostname do CDN do WP Engine:
text

W3 Total Cache

  1. Vá para Performance > CDN
  2. Em Rejected files, adicione:
Lista de arquivos rejeitados do CDN do W3 Total Cache incluindo o caminho sdk_files do OneSignal

Configurações de exclusão W3 Total Cache.

BunnyCDN

Exclua onesignal nos CDN Excluded Paths do plugin.
Caminhos excluídos do plugin WordPress do BunnyCDN incluindo onesignal

Exemplo de exclusão BunnyCDN.

CDN Enabler

Em Settings > CDN Enabler, adicione isto a “Exclusions”:

PressCDN

Em Exclude Directories, adicione:

Breeze

Em Settings > CDN > Exclude Content, adicione:
Campo de exclusão de conteúdo CDN do Breeze com o caminho sdk_files do OneSignal

Exemplo de exclusão Breeze.

Hummingbird Pro

Vá para Hummingbird > Asset Optimization. Em JavaScript (e CSS se os assets do OneSignal aparecerem lá), localize arquivos cujas URLs contenham onesignal-free-web-push-notifications ou OneSignalSDK. Exclua-os de minificação/combinação/adiamento, ou mude esses assets para otimização Não carregar para que o plugin não os reescreva ou adie.
Lista de otimização de assets do Hummingbird Pro mostrando exclusões de scripts

Asset Optimization do Hummingbird Pro.

Sucuri

Siga o guia de Whitelist do Sucuri para permitir arquivos OneSignal.

Solid Security (anteriormente iThemes Security)

Desabilite Disable PHP in Plugins (ou equivalente) em System Tweaks para que OneSignalSDKWorker.js.php possa executar.
Configuração do plugin de segurança para permitir PHP em plugins desmarcada ou desabilitada

Configuração de plugin PHP iThemes.

Defender Security plugin

Não habilite “Prevent PHP execution”. Vá para Defender Plugin > Security Tweaks e verifique se a configuração está desabilitada.

Exemplo .htaccess para acesso Service Worker

Apache 2.4+ frequentemente usa Require all denied / Require all granted em vez de Order allow,deny. Consulte seu host ou ajuste as regras para corresponder à versão do Apache do seu servidor.

Lentidão do servidor ou site inacessível após enviar notificações

Se seu servidor experimenta lentidão ou fica inacessível após enviar notificações, frequentemente é devido ao aumento de carga de recursos de notificação ou recursos limitados do servidor.

Não hospede seus próprios ícones de notificação

Evite auto-hospedar imagens usadas em notificações. Quando você hospeda seus próprios ícones ou imagens de notificação, seu servidor pode ficar sobrecarregado já que o navegador de cada destinatário tenta buscar a imagem ao mesmo tempo que uma notificação é enviada. Para reduzir a carga do servidor, use soluções de hospedagem de imagem ou serviços CDN otimizados para acesso de alta concorrência.

Considere atualizar recursos de hospedagem

Se problemas de servidor persistirem, você pode precisar:
  • Atualizar seu plano de hospedagem: Maior largura de banda ou hospedagem mais poderosa pode ser necessária para lidar com envios de notificação em larga escala.
  • Consultar seu provedor de hospedagem: Seu provedor pode oferecer insights ou otimizações específicas para seu ambiente de hospedagem.