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
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
  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

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
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
OneSignal.User.PushSubscription.id
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
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
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
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
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
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-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)

WP Rocket

Em CDN > Exclude Files From CDN, adicione:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)

LiteSpeed Cache

Em CDN > Exclude Path, adicione:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
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:
PlaceholderSubstituir por
YOURSITEHERESeu domínio base (segmento de regex), ex. example para example.com
mywpenginehandleHereO nome da sua instalação WP Engine (subdomínio antes de .wpengine.com)
wpengineCDNpathHereSeu segmento de caminho NetDNA / CDN do WP Engine (frequentemente mostrado nas URLs de CDN)
mywebsiteHereA origem do seu site ativo sem caminho, ex. https://example.com
text
#https?://(www\.)?(YOURSITEHERE\.com|mywpenginehandleHere.wpengine.com|wpengineCDNpathHere.wpengine.netdna-(ssl|cdn).com)/wp-(content|includes)#
=> https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-$4
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-content/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/

W3 Total Cache

  1. Vá para Performance > CDN
  2. Em Rejected files, adicione:
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
Lista de arquivos rejeitados do CDN do W3 Total Cache incluindo o caminho sdk_files do OneSignal

BunnyCDN

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

CDN Enabler

Em Settings > CDN Enabler, adicione isto a “Exclusions”:
onesignal-free-web-push-notifications

PressCDN

Em Exclude Directories, adicione:
/wp-content/plugins/onesignal-free-web-push-notifications/

Breeze

Em Settings > CDN > Exclude Content, adicione:
/onesignal-free-web-push-notifications/sdk_files/
Campo de exclusão de conteúdo CDN do Breeze com o caminho sdk_files do OneSignal

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

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

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

<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files OneSignalSDKWorker.js.php>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
<Files OneSignalSDKWorker.js>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
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.