> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Solução de problemas do Web SDK

> Solucione problemas de Web Push do OneSignal no Chrome, Firefox, Safari e Android. Corrija erros comuns de service worker, origin, tipo MIME e push móvel com orientação passo a passo de depuração.

## 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](./web-sdk-setup) para garantir que você concluiu todas as etapas.

Os motivos mais comuns pelos quais o web push parece não estar funcionando estão realmente 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](/docs/pt-BR/permission-requests), mas não podem se inscrever em notificações push nos modos de navegação anônima, privada ou convidado.

<Accordion title="Compatibilidade de navegadores por sistema operacional">
  | Browser                                                                          | Windows | macOS | Android | iOS |
  | -------------------------------------------------------------------------------- | ------- | ----- | ------- | --- |
  | [Chrome](https://en.wikipedia.org/wiki/Google_Chrome)                            | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Firefox](https://en.wikipedia.org/wiki/Firefox)                                 | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Safari 10+](https://en.wikipedia.org/wiki/Safari_\(web_browser\))               | ❌       | ✅     | ❌       | ✅ ¹ |
  | [Microsoft Edge](https://en.wikipedia.org/wiki/Microsoft_Edge)                   | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Opera](https://en.wikipedia.org/wiki/Opera_\(web_browser\)) ²                   | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Samsung Internet](https://en.wikipedia.org/wiki/Samsung_Internet_for_Android) ² | ❌       | ❌     | ✅       | ✅ ¹ |
  | [Yandex](https://en.wikipedia.org/wiki/Yandex_Browser) ²                         | ✅       | ✅     | ✅       | ✅ ¹ |
  | [UC Browser](https://en.wikipedia.org/wiki/UC_Browser) ²                         | ✅       | ❌     | ✅       | ✅ ¹ |
  | [Internet Explorer](https://en.wikipedia.org/wiki/Internet_Explorer)             | ❌       | ❌     | ❌       | ❌   |
  | [DuckDuckGo](https://en.wikipedia.org/wiki/DuckDuckGo)                           | ❌       | ❌     | ❌       | ❌   |

  <Info>
    ¹ iOS requer instalação de aplicativo web (consulte [Configuração de push web para iOS](/docs/pt-BR/web-push-for-ios))

    ² Navegadores baseados em Chromium aparecem como "Chrome" nas análises do OneSignal
  </Info>
</Accordion>

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

<Warning>
  Selecione o sistema operacional correto nas abas abaixo. Você deve ver Windows, macOS, Android e iOS.
</Warning>

<Tabs>
  <Tab title="Windows">
    <Accordion title="Configurações de notificação do Windows 10">
      1. Selecione **Iniciar > Configurações > Notificações e Ações > Receber notificações de aplicativos e outros remetentes**

      2. **Certifique-se de que seu site e navegador também estejam ativados.**

      <Frame caption="Configurações de notificação do Windows 10">
        <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/cb85585-f0eb72bb-313f-b80e-480c-46321fdb5ebd.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=21acf8bf7acb457822fe6f442a0f2fad" width="558" height="317" data-path="images/docs/cb85585-f0eb72bb-313f-b80e-480c-46321fdb5ebd.png" />
      </Frame>
    </Accordion>

    **Configurações de notificação do Windows 11:**

    1. Selecione **Iniciar > Configurações > Sistema > Notificações**

    <Frame caption="Configurações de notificação do Windows 11">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/9e6b656-Screenshot_2023-07-13_at_4.03.13_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=8e4d1b4617fc098bd0d0060defb23851" width="2046" height="1598" data-path="images/docs/9e6b656-Screenshot_2023-07-13_at_4.03.13_PM.png" />
    </Frame>

    2. Ative **Notificações**

    3. Desative **Não perturbe** (durante os testes, as notificações serão exibidas quando esta opção estiver desativada)

    4. Role para baixo até **Notificações de aplicativos e outros remetentes**

    <Frame caption="Windows 11 Notificações de aplicativos e outros remetentes">
      <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/ed955fa-Screenshot_2023-07-13_at_4.04.16_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=e6943675129e73eabe9286c976163091" alt="Windows 11 Settings showing the Notifications from apps and other senders list" width="2046" height="1598" data-path="images/docs/ed955fa-Screenshot_2023-07-13_at_4.04.16_PM.png" />
    </Frame>

    5. Certifique-se de que seus navegadores estejam **ativados**.

    <Frame caption="Lista de navegadores nas configurações de notificação do Windows 11">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/258c7ee-Screenshot_2023-07-13_at_4.11.32_PM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=48f5b6b47512f24ef6589a404d6fb413" width="2046" height="1598" data-path="images/docs/258c7ee-Screenshot_2023-07-13_at_4.11.32_PM.png" />
    </Frame>
  </Tab>

  <Tab title="macOS">
    1. Navegue até **Ajustes do Sistema > Notificações**
    2. Certifique-se de que as **Notificações** estejam ativadas na Central de Notificações.

    <Info>
      Talvez seja necessário selecionar **Permitir notificações ao espelhar ou compartilhar a tela**.
    </Info>

    <Frame caption="Configurações da Central de Notificações do macOS">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-notification-center-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=3978f6da8fd11a30efae0da02a5c8a5a" width="1670" height="1938" data-path="images/push/macos-notification-center-settings.png" />
    </Frame>

    3. Role para baixo até a lista de Notificações de Aplicativos e certifique-se de que seu navegador esteja ativado.

    <Warning>
      Alguns navegadores como Chrome e Edge mostram 2 entradas de aplicativo diferentes.

      1. Notificações push web padrão
      2. Alertas internos, ex. Google Agenda

      Certifique-se de que ambas estejam ativadas.
    </Warning>

    <Frame caption="Lista de Notificações de Aplicativos do macOS - O exemplo mostra que Chrome e Edge têm 2 entradas e ambas precisam estar ativadas.">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-application-notifications-list.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=adebcf8e4a20d72fccf92459dc94bda1" width="1670" height="1938" data-path="images/push/macos-application-notifications-list.png" />
    </Frame>

    4. Selecione o Aplicativo e ative as configurações. Selecione como você deseja que as notificações sejam exibidas.

    <Frame caption="Configurações de Notificações de Aplicativos do macOS">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-application-notifications-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=45cc68b248d15f60c6b344eca3114447" width="1670" height="1938" data-path="images/push/macos-application-notifications-settings.png" />
    </Frame>

    <Warning>
      Algumas versões mais antigas do Safari podem mostrar o site na lista de Notificações de Aplicativos. Certifique-se de verificar se o site está ativado neste caso.
    </Warning>

    5. Navegue até **Ajustes do Sistema > Foco** e certifique-se de que nenhum modo de foco esteja ativo durante os testes.

    <Frame caption="Configurações do Modo Foco do macOS">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-focus-mode-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=7924eb3a1907400fee662fcf249081ef" width="1670" height="1392" data-path="images/push/macos-focus-mode-settings.png" />
    </Frame>
  </Tab>

  <Tab title="Android">
    1. Navegue até **Configurações > Notificações > seu navegador de preferência**.
    2. Certifique-se de que **"Mostrar notificações"** e seu site estejam marcados.

    <Frame caption="Configurações de notificação do Android">
      <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b75b427-Screenshot_20210816-174706_Settings.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=f2de2e15cdf5b36f423b707903ba82ae" width="800" height="873" data-path="images/docs/b75b427-Screenshot_20210816-174706_Settings.png" />
    </Frame>

    <Note>
      O Android usa canais de notificação por aplicativo. Se o canal de notificações do seu navegador estiver configurado como silencioso ou desativado, as notificações push não aparecerão mesmo que o interruptor principal esteja ativado. Em Configurações, toque na entrada do navegador e verifique se cada canal de notificações está ativado e configurado com um estilo de alerta visível.
    </Note>
  </Tab>

  <Tab title="iOS">
    <Warning>
      O iOS exige que você adicione seu site à Tela Inicial antes que os assinantes possam receber notificações push em iPhones e iPads. Conclua a [configuração de push web para iOS](/docs/pt-BR/web-push-for-ios) antes de solucionar problemas.
    </Warning>

    1. Toque no botão **Compartilhar** do navegador e selecione **Adicionar à Tela Inicial**.
    2. Abra seu site pela Tela Inicial e permita as notificações quando o prompt de permissão aparecer.
    3. Vá para **Configurações > Notificações > seu site** no dispositivo e certifique-se de que **Permitir Notificações** esteja ativado.
  </Tab>
</Tabs>

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

<Steps>
  <Step title="Confirme se uma solicitação está configurada">
    Revise a configuração da [Solicitação de permissão da web](/docs/pt-BR/permission-requests) para garantir que você configurou uma solicitação e entende os diferentes comportamentos dos navegadores.

    Por exemplo, alguns navegadores como o Safari exigem um gesto do usuário (clicar em um botão) antes que a solicitação nativa possa aparecer. Detalhes para cada navegador podem ser encontrados em nossa seção [Solicitação de permissão da web > Solicitação de permissão nativa](/docs/pt-BR/permission-requests#native-permission-prompt).
  </Step>

  <Step title="Verifique a compatibilidade do navegador, modo de navegação anônima, privado ou convidado">
    Os navegadores não permitem que os usuários se inscrevam em notificações nesses modos. É por isso que a Solicitação Deslizante pode aparecer, mas a Solicitação de Permissão nativa não será exibida.

    Certifique-se de estar [usando um navegador e dispositivo que suporta push web](/docs/pt-BR/troubleshooting-web-push#browser-compatibility).
  </Step>

  <Step title="Verifique as Configurações de Notificação do seu navegador">
    Navegue até as configurações do seu navegador e verifique a configuração de permissão de "Notificações". Exemplo do Chrome: `chrome://settings/content/notifications`

    <Frame caption="Configurações de notificações do Chrome">
      <img src="https://mintcdn.com/onesignal/GxkD7lQqPiL4KVpn/images/push/chrome-notifications-settings.png?fit=max&auto=format&n=GxkD7lQqPiL4KVpn&q=85&s=8edb5d3cdbe4b785086053fdfc82bd1c" width="2268" height="2012" data-path="images/push/chrome-notifications-settings.png" />
    </Frame>

    Neste exemplo:

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

    **Documentação específica do navegador:**

    * [Chrome](https://support.google.com/chrome/answer/3220216) - 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](https://support.mozilla.org/en-US/kb/push-notifications-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](https://support.apple.com/guide/safari/customize-website-notifications-sfri40734/mac) - 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](https://support.microsoft.com/en-us/microsoft-edge/manage-website-notifications-in-microsoft-edge-0c555609-5bf2-479d-a59d-fb30a0b80b2b) - 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.
  </Step>

  <Step title="Os requisitos do iOS/iPadOS não foram atendidos">
    Para iOS, existem alguns requisitos adicionais para solicitar aos usuários sua inscrição. Mais informações podem ser encontradas no guia [Push Web Móvel para iOS/iPadOS](/docs/pt-BR/web-push-for-ios).
  </Step>
</Steps>

***

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

<Steps>
  <Step title="Abra o console das ferramentas de desenvolvedor do navegador">
    As ferramentas de desenvolvedor do navegador podem ser usadas para interagir com nosso Web SDK em sua página da web e habilitar o log para verificar erros.

    <Tabs>
      <Tab title="Desktop">
        * **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.

        <Frame caption="Console das Ferramentas de Desenvolvedor do Desktop">
          <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/M6r7mvTPT7W1USDDy5Wz_console.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=452fc53b810bd258234dc5cc46f0b45e" width="1510" height="598" data-path="images/docs/M6r7mvTPT7W1USDDy5Wz_console.png" />
        </Frame>
      </Tab>

      <Tab title="Android">
        * **Chrome no Android**: [Habilite a Depuração USB](https://developer.chrome.com/docs/devtools/remote-debugging/), conecte seu dispositivo ao seu computador e acesse as Dev Tools com `chrome://inspect#devices` no seu navegador Chrome Desktop.
        * **Firefox no Android**: [Habilite a Depuração USB](https://developer.mozilla.org/en-US/docs/Tools/about:debugging), conecte seu dispositivo ao seu computador e acesse as Dev Tools com `about:debugging` no seu navegador Firefox Desktop.
      </Tab>

      <Tab title="iOS">
        1. [Habilite o inspetor da web no iOS](https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html).
        2. Abra o navegador Safari no seu mac e selecione **Desenvolver > seu dispositivo > seu site**.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Habilite o log do Web SDK">
    Agora você pode executar comandos no Console das ferramentas de desenvolvedor. Execute o seguinte código:

    ```javascript JavaScript theme={null}
      OneSignal.Debug.setLogLevel('trace');
    ```

    * Você deve ver `undefined` como 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.

    <Frame caption="Console com logs detalhados do SDK">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/PTU11ly5R0quyNQDYeb8_consoleLog1.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=388624dc46350f2c2c38e834297f2f59" width="2880" height="1214" data-path="images/docs/PTU11ly5R0quyNQDYeb8_consoleLog1.png" />
    </Frame>
  </Step>
</Steps>

### Erros de configuração

Você pode encontrar os seguintes erros após a inicialização do OneSignal:

<Danger>
  Erro: SDK já inicializado
</Danger>

<Frame caption="Erro de inicialização duplicada do SDK">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/sdk-already-initialized-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=09e589bc31483e0cd9c052944376bb1e" width="1798" height="388" data-path="images/sdk/sdk-already-initialized-error.png" />
</Frame>

**O que isso significa:** O código `init` do Web SDK do OneSignal está sendo chamado mais de uma vez, frequentemente causado pela combinação da configuração do plugin WordPress 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, remova qualquer código OneSignal manual dos arquivos de tema.

<Danger>
  Erro: Pode ser usado apenas em: (URL definida no Painel do OneSignal)
</Danger>

<Frame caption="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.">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/site-origin-mismatch-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=6d6c788f674e4b65f0b20be4a70d1090" width="1798" height="564" data-path="images/sdk/site-origin-mismatch-error.png" />
</Frame>

**O que isso significa:** O domínio que você está visitando atualmente não corresponde à URL do site configurada no painel do OneSignal.

**Como corrigir:** Copie a URL do site no seu navegador e cole-a na configuração **Configurações > Push e No Aplicativo > Web > URL do Site** do painel do OneSignal. Certifique-se de que seja a origem do site usando o seguinte formato:

* **Protocolo:** Deve ser `https://` (para testes locais, consulte [Configuração Localhost](./web-sdk-setup#local-testing))
* **Domínio:** `example.com` vs `www.example.com`
* **Subdomínio:** `app.example.com` vs `example.com`

Todos os três componentes devem corresponder entre a URL real do seu site e a configuração do painel.

<Danger>
  Erro: OneSignalSDK: The "My site is not fully HTTPS" option is no longer supported starting with version 16 (User Model) of the OneSignal SDK.
</Danger>

<Frame caption="Exemplo do erro de site HTTP não suportado">
  <img src="https://mintcdn.com/onesignal/u7GEHl8RqZEg_hFd/images/sdk/http-site-not-supported-error.png?fit=max&auto=format&n=u7GEHl8RqZEg_hFd&q=85&s=5009ca5985c1ddcc0b1904146504f1db" width="526" height="141" data-path="images/sdk/http-site-not-supported-error.png" />
</Frame>

**O que isso significa:** Seu painel do OneSignal está configurado para usar um site HTTP e você provavelmente atualizou para usar HTTPS.

Seus usuários que se inscreveram no seu site ao usar HTTP ou a opção "Meu site não é totalmente HTTPS" estão na verdade inscritos em um subdomínio que fornecemos a você no formato `https://your-label.os.tc` e não na origem real do seu site. Isso ocorre porque o web push não é suportado em sites HTTP ou sites que não podem hospedar service workers.

**Como corrigir:** Você tem 2 opções, mas ambas exigem que seus usuários se inscrevam novamente porque eles estão na verdade inscritos no subdomínio `os.tc`.

1. Crie um novo aplicativo OneSignal e defina o novo ID do aplicativo no seu código de inicialização do OneSignal. O benefício disso é que você pode continuar enviando push do aplicativo OneSignal antigo/original. Envie quantas notificações quiser informando aos seus usuários que o site foi atualizado e que eles devem voltar e se inscrever novamente para continuar recebendo atualizações. Oferecer um desconto ou incentivo para se inscrever novamente ajuda muito. Defina a "URL de lançamento" para uma página de destino e forneça a eles um botão para se inscreverem facilmente novamente, como nosso prompt de sino, prompt de link personalizado ou prompt de slide de categoria. Consulte [Prompts de permissão](./permission-requests) para mais detalhes.

2. Se você quiser manter o mesmo ID de aplicativo, você precisaria usar nossa API [Atualizar um aplicativo](/reference/update-an-app) para atualizar o `chrome_web_origin` e `safari_site_origin` para a origem HTTPS do seu site. Como esses usuários se inscreveram no subdomínio `os.tc`, eles não têm permissões push permitidas no navegador para o seu site. O navegador não "sabe" que eles estão inscritos no seu site, então eles serão solicitados novamente. Se eles se inscreverem novamente, eles terão 2 assinaturas de web push para o seu site no mesmo navegador e receberão notificações duplicadas. Por esse motivo, recomendamos [excluir todos os seus assinantes atuais de web push](./delete-users) para evitar que recebam notificações duplicadas. Antes de excluir, envie algumas notificações informando que o site foi atualizado e que eles devem se inscrever novamente para continuar recebendo atualizações. Oferecer um desconto ou incentivo para se inscrever novamente funciona muito bem. Defina a "URL de lançamento" para uma página de destino e forneça a eles um botão para se inscreverem facilmente novamente, como nosso prompt de sino, prompt de link personalizado ou prompt de slide de categoria. Consulte [Prompts de permissão](./permission-requests) para mais detalhes.

### Erros de instalação do service worker

Se você receber a [Solicitação de permissão nativa](./permission-requests) e clicar em "Permitir", poderá encontrar os seguintes erros de instalação do service worker:

<Danger>
  Y: Falha no registro de um Service Worker.
</Danger>

<Danger>
  \[Instalação do Service Worker] Falha na instalação do service worker TypeError: Falha ao registrar um ServiceWorker para o escopo ('`https://your-site.com/`') com o script ('`https://your-site.com/...`'): Um código de resposta HTTP ruim (404) foi recebido ao buscar o script.
</Danger>

<Danger>
  \[Instalação do Service Worker] Falha na instalação do service worker TypeError: Falha ao registrar um ServiceWorker para o escopo ('`https://www.yoursite.com/`') com o script ('`https://www.yoursite.com/...`'): Um código de resposta HTTP ruim (403) foi recebido ao buscar o script.
</Danger>

<Frame caption="Exemplo de erro de instalação do service worker">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/service-worker-installation-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=a3471311e9e42d914e220e28525dbb8d" width="1798" height="816" data-path="images/sdk/service-worker-installation-error.png" />
</Frame>

<Danger>
  O script tem um tipo MIME não suportado ('tipo MIME atual').
  \[Instalação do Service Worker] Falha na instalação do service worker SecurityError: Falha ao registrar um ServiceWorker para o escopo ('[https://your-site.com/](https://your-site.com/)') com o script ('[https://your-site.com/](https://your-site.com/)...'): O script tem um tipo MIME não suportado ('tipo MIME atual').
</Danger>

<Frame caption="Erro de tipo MIME no service worker">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f4215e3-Screen_Shot_2020-02-18_at_5.00.49_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=70bb68c3eb6f26e2c42c5462ec8ea138" width="2594" height="136" data-path="images/docs/f4215e3-Screen_Shot_2020-02-18_at_5.00.49_PM.png" />
</Frame>

<Danger>
  \[Instalação do Service Worker] Falha na instalação do service worker SecurityError: Falha ao registrar um ServiceWorker para o escopo ('[https://your-site.com/](https://your-site.com/)') com o script ('[https://your-site.com/](https://your-site.com/)...'): O recurso do script está atrás de um redirecionamento, o que não é permitido.
</Danger>

<Frame caption="Erro de redirecionamento no console">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1ed3985-Screen_Shot_2020-02-19_at_7.12.05_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=d7b09ca6815ca516b553505fd46d37cd" width="1643" height="74" data-path="images/docs/1ed3985-Screen_Shot_2020-02-19_at_7.12.05_PM.png" />
</Frame>

**O que isso significa:** Seu arquivo de service worker está configurado incorretamente.

**Como corrigir:**

<Steps>
  <Step title="Encontre o caminho do seu service worker">
    Nosso SDK procura o arquivo do service worker `OneSignalSDKWorker.js` no diretório raiz do seu site, a menos que você especifique um nome de arquivo ou local personalizado, conforme descrito no [Guia de Configuração do Service Worker](./onesignal-service-worker).

    Certifique-se de ter configurado o nome do arquivo, local e escopo corretos para que nosso SDK encontre o arquivo do service worker.
  </Step>

  <Step title="Visite o arquivo do service worker diretamente no seu navegador">
    Com base na sua configuração, abra o arquivo diretamente no seu navegador.

    * Se você não configurou um local personalizado, então você deve ver o código JavaScript do arquivo do service worker na raiz do seu site: `https://yoursite.com/OneSignalSDKWorker.js`
    * Se estiver usando WordPress, você deve vê-lo aqui: `https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`
    * Se estiver usando um local personalizado, você deve vê-lo aqui: `https://yoursite.com/your-custom-location/OneSignalSDKWorker.js`

    <Warning>
      Os nomes de arquivo diferenciam maiúsculas de minúsculas. Certifique-se de usar `OneSignalSDKWorker.js` ou o nome do arquivo que você configurou.

      Alguns servidores convertem automaticamente o nome do arquivo para minúsculas. Leve isso em consideração se não conseguir encontrar o arquivo.
    </Warning>
  </Step>

  <Step title="Verifique se o arquivo carrega">
    * Você deve ver o seguinte código JavaScript:
      ```javascript JavaScript theme={null}
      importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
      ```
    * Este arquivo deve ser servido com um `content-type` de `application/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)
  </Step>
</Steps>

<Check>
  Revise o [Guia de Configuração do Service Worker](./onesignal-service-worker) para obter instruções de configuração mais detalhadas.
</Check>

### Notificações não exibidas

Esta seção assume:

1. Você revisou o guia [Notificações Não Exibidas: Web Push](./notifications-not-shown-web-push) para conhecer os motivos comuns pelos quais as notificações podem não estar aparecendo no seu dispositivo.
2. Você viu a [Solicitação de permissão nativa](./permission-requests) e clicou em "Permitir". Consulte [Problemas de exibição de solicitação](#problemas-de-exibição-de-solicitação) acima se você não se inscreveu através da solicitação de permissão nativa.

Se o acima for verdadeiro, siga estas etapas para verificar seu ID de Assinatura e enviar uma notificação push para você mesmo:

<Steps>
  <Step title="Obtenha seu ID de Assinatura">
    Execute o seguinte código no console das ferramentas de desenvolvedor do navegador:

    ```javascript JavaScript theme={null}
      function getUserInfo() {
      	console.log('getUserInfo()');
      	Promise.all([
          OneSignal.Notifications.isPushSupported(),
      		OneSignal.Notifications.permission,
          OneSignal.User.PushSubscription.optedIn,
          OneSignal.User.PushSubscription.id
      	]).then(([
          isPushSupported,
          isSubscribed,
          isOptedIn,
          subscriptionId
        ]) => {
          console.log('The current URL of this page: ', location.href);
          console.log('Push is supported on this browser: ', isPushSupported);
          console.log('You are subscribed to notifications in the browser: ', isSubscribed);
          console.log('You are opted-in with OneSignal: ' , isOptedIn);
          console.log('Your OneSignal Subscription ID: ', subscriptionId);
        }).catch(e => {
          console.error('Error getting user info:', e);
        });
      }
      getUserInfo();
    ```

    Isso lhe dirá:

    * A URL da página em que você está, caso haja alguma confusão.
    * Se o navegador atual que você está usando suporta notificações push.
      * `true` significa que o navegador suporta notificações push.
      * `false` significa que o navegador não suporta notificações push.
    * Se você está inscrito em notificações no navegador.
      * `true` significa que você permitiu permissões push para esta URL.
      * `false` significa que você não permitiu ou negou permissões push para esta URL.
    * Se você optou por participar com o OneSignal.
      * `true` significa que sua Assinatura está inscrita em notificações push no OneSignal.
      * `false` significa que sua Assinatura não está inscrita em notificações push no OneSignal. Verifique se o [método `optOut()`](./web-sdk-reference) 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.

          <Frame caption="Exemplo de informações do usuário">
            <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/user-info-example.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=eb88becd62fc4da42bb26b2b6b6d61b6" width="1798" height="1054" data-path="images/sdk/user-info-example.png" />
          </Frame>

          <Warning>
            Salve esses dados do console em um arquivo de texto e compartilhe com nossa equipe de Suporte se precisar de mais assistência.
          </Warning>
  </Step>

  <Step title="Envie uma notificação para você mesmo">
    Se você está inscrito em notificações, optou por participar com o OneSignal e tem um ID de Assinatura, você pode enviar uma notificação para você mesmo.

    Siga as etapas em [Encontrar e Definir Assinaturas de Teste](./test-users) para se definir como testador e enviar uma notificação para você mesmo.
  </Step>

  <Step title="Teste com o Chrome">
    Se você não está recebendo notificações no Chrome, use essas ferramentas de diagnóstico específicas do Chrome para identificar o problema.

    1. Em uma nova aba, abra `chrome://gcm-internals`.
    2. Clique no botão "Start Recording" no canto superior esquerdo. Certifique-se de ver "Connection State: CONNECTED".
    3. Deixe isso aberto e envie outra notificação push para sua Assinatura de web push do Chrome.
    4. Você deve ver algo no "Receive Message Log" se recebeu.

    <Frame caption="Log de internos do GCM">
      <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/chrome-gcm-internals-logging.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=1cb6d1d8b43673e34e3c8d4989e4e36b" width="2556" height="2228" data-path="images/sdk/chrome-gcm-internals-logging.png" />
    </Frame>

    * Se você não ver um "Data msg received", então seu navegador Chrome não está recebendo a notificação. Por favor, nos informe sobre isso no suporte.
    * Se você ver "Data msg received" mas ainda não recebeu uma notificação, continue para a próxima etapa.

    5. Abra uma nova aba para `chrome://serviceworker-internals`
    6. Pesquise por `Scope: https://your-site.com` (substitua `your-site.com` pelo domínio real do seu site).
    7. Clique em **Inspect**, ou **Start -> Inspect**. Um popup das Ferramentas de Desenvolvedor do Chrome aparecerá.

    <Frame caption="Inspecionando o service worker">
      <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/chrome-serviceworker-internals-inspect.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=bb162542bf608c5c85d74aa510eb2593" width="2288" height="1270" data-path="images/sdk/chrome-serviceworker-internals-inspect.png" />
    </Frame>

    8. No popup das Ferramentas de Desenvolvedor do Chrome para o nosso service worker, clique na aba **Console** e execute `OneSignalWorker.log.trace();`. Deve retornar `undefined`. Quaisquer mensagens do nosso service worker devem agora aparecer neste popup.
  </Step>
</Steps>

<Info>
  Precisa de ajuda?

  Converse com nossa equipe de Suporte ou envie email para `support@onesignal.com`

  Por 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](/docs/pt-BR/capturing-a-debug-log) relevantes

  Estamos felizes em ajudar!
</Info>

***
