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

# Solución de problemas del Web SDK

> Soluciona problemas de OneSignal Web Push en Chrome, Firefox, Safari y Android. Corrige errores comunes de service worker, origen, tipo MIME y push móvil con orientación de depuración paso a paso.

## Descripción general

Esta guía te guía a través de la solución de problemas de tu configuración del Web SDK de OneSignal. Antes de continuar, revisa la [Configuración del Web SDK](./web-sdk-setup) para asegurarte de haber completado todos los pasos.

Las razones más comunes por las que el web push parece no funcionar están realmente relacionadas con la configuración de notificaciones de tu navegador y dispositivo:

### Compatibilidad del navegador

Los usuarios pueden ver [solicitudes de permiso web](/docs/es/permission-requests) pero no pueden suscribirse a notificaciones push en los modos de navegación de incógnito, privado o invitado.

<Accordion title="Compatibilidad del navegador por sistema operativo">
  | 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 requiere la instalación de una aplicación web (consulte [Configuración de push web en iOS](/docs/es/web-push-for-ios))

    ² Los navegadores basados en Chromium aparecen como "Chrome" en los análisis de OneSignal
  </Info>
</Accordion>

### Configuración de notificaciones del dispositivo

La configuración de notificaciones del dispositivo es la **causa más común** por la que las notificaciones web push no aparecen. Revise los siguientes ajustes, incluidos los modos de concentración (No molestar, Batería baja, etc.), antes de buscar otras causas.

<Warning>
  Seleccione el sistema operativo correcto en las pestañas de abajo. Debería ver Windows, macOS, Android e iOS.
</Warning>

<Tabs>
  <Tab title="Windows">
    <Accordion title="Configuración de notificaciones en Windows 10">
      1. Seleccione **Inicio > Configuración > Notificaciones y acciones > Obtener notificaciones de aplicaciones y otros remitentes**

      2. **Asegúrese de que su sitio y navegador también estén habilitados.**

      <Frame caption="Configuración de notificaciones en 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>

    **Configuración de notificaciones en Windows 11:**

    1. Seleccione **Inicio > Configuración > Sistema > Notificaciones**

    <Frame caption="Configuración de notificaciones en 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. Active **Notificaciones**

    3. Desactive **No molestar** (durante las pruebas, las notificaciones push se mostrarán cuando esto esté desactivado)

    4. Desplácese hacia abajo hasta **Notificaciones de aplicaciones y otros remitentes**

    <Frame caption="Windows 11 Notificaciones de aplicaciones y otros remitentes">
      <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. Asegúrese de que sus navegadores estén **Activados**.

    <Frame caption="Lista de navegadores en la configuración de notificaciones de 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 a **Configuración del sistema > Notificaciones**
    2. Asegúrese de que las **Notificaciones** estén habilitadas en el Centro de notificaciones.

    <Info>
      Es posible que deba seleccionar **Permitir notificaciones al duplicar o compartir la pantalla**.
    </Info>

    <Frame caption="Configuración del Centro de notificaciones de 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. Desplácese hacia abajo hasta la lista de notificaciones de aplicaciones y asegúrese de que su navegador esté activado.

    <Warning>
      Algunos navegadores como Chrome y Edge muestran 2 entradas de aplicación diferentes.

      1. Notificaciones push web estándar
      2. Alertas internas, p. ej. Google Calendar

      Asegúrese de que ambas estén habilitadas.
    </Warning>

    <Frame caption="Lista de notificaciones de aplicaciones de macOS - El ejemplo muestra que Chrome y Edge tienen 2 entradas y ambas deben estar habilitadas.">
      <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. Seleccione la aplicación y active la configuración. Seleccione cómo desea que se muestren las notificaciones.

    <Frame caption="Configuración de notificaciones de aplicaciones de 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>
      Algunas versiones antiguas de Safari pueden mostrar el sitio web en su lista de notificaciones de aplicaciones. Asegúrese de comprobar que el sitio web esté activado en este caso.
    </Warning>

    5. Navegue a **Configuración del sistema > Concentración** y asegúrese de que no haya modos de concentración activos durante las pruebas.

    <Frame caption="Configuración del modo de concentración de 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 a **Configuración > Notificaciones > su navegador de elección**.
    2. Asegúrese de que **"Mostrar notificaciones"** y su sitio web estén marcados.

    <Frame caption="Configuración de notificaciones de 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>
      Android utiliza canales de notificación por aplicación. Si el canal de notificaciones de su navegador está configurado como silencioso o desactivado, las notificaciones push no aparecerán aunque el interruptor principal esté activado. En Configuración, toque la entrada del navegador y compruebe que cada canal de notificaciones esté habilitado y configurado con un estilo de alerta visible.
    </Note>
  </Tab>

  <Tab title="iOS">
    <Warning>
      iOS requiere que agregue su sitio a la Pantalla de inicio antes de que los suscriptores puedan recibir notificaciones push en iPhones y iPads. Complete la [configuración de push web para iOS](/docs/es/web-push-for-ios) antes de solucionar problemas.
    </Warning>

    1. Toque el botón **Compartir** del navegador y seleccione **Agregar a la pantalla de inicio**.
    2. Abra su sitio desde la Pantalla de inicio y permita las notificaciones cuando aparezca el aviso de permiso.
    3. Vaya a **Configuración > Notificaciones > su sitio** en el dispositivo y asegúrese de que **Permitir notificaciones** esté activado.
  </Tab>
</Tabs>

### Problemas de visualización del mensaje

Las siguientes son razones comunes por las que la solicitud de notificación push web puede no mostrarse como se esperaba.

<Steps>
  <Step title="Confirme que se haya configurado una solicitud">
    Revise su configuración de [Solicitud de permiso web](/docs/es/permission-requests) para asegurarse de haber configurado una solicitud y comprender los diferentes comportamientos del navegador.

    Por ejemplo, algunos navegadores como Safari requieren una acción del usuario (hacer clic en un botón) antes de que pueda aparecer la solicitud nativa. Los detalles de cada navegador se pueden encontrar en nuestra sección [Solicitud de permiso web > Solicitud de permiso nativa](/docs/es/permission-requests#native-permission-prompt).
  </Step>

  <Step title="Verifique la compatibilidad del navegador, los modos de incógnito, navegador privado o navegador de invitado.">
    Los navegadores no permiten que los usuarios se suscriban a notificaciones en estos modos. Es por eso que la solicitud deslizante puede mostrarse pero la solicitud de permiso nativa no se mostrará.

    Asegúrese de estar [utilizando un navegador y dispositivo que admita push web](/docs/es/troubleshooting-web-push#browser-compatibility).
  </Step>

  <Step title="Verifique la configuración de notificaciones de su navegador">
    Navegue a la configuración de su navegador y verifique la configuración de permisos de "Notificaciones". Ejemplo de Chrome: `chrome://settings/content/notifications`

    <Frame caption="Configuración de notificaciones de 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>

    En este ejemplo:

    * El usuario ha seleccionado "No permitir que los sitios envíen notificaciones", lo que impedirá que se muestre la solicitud de permiso nativa. Esto debe mostrar "Los sitios pueden solicitar enviar notificaciones" para permitir que se muestre la solicitud de permiso nativa.
    * El usuario ha agregado `https://yoursite.com` a la lista "No se permite enviar notificaciones", lo que impedirá que se muestre la solicitud de permiso nativa. Esto debe eliminarse de la lista para permitir que se muestre la solicitud de permiso nativa.

    **Documentación específica del navegador:**

    * [Chrome](https://support.google.com/chrome/answer/3220216) - Esta página explica cómo administrar las notificaciones en Chrome yendo a Configuración > Privacidad y seguridad > Configuración del sitio > Notificaciones, donde puede controlar el comportamiento predeterminado y administrar los permisos de sitios web individuales.
    * [Firefox](https://support.mozilla.org/en-US/kb/push-notifications-firefox) - Esta guía cubre las notificaciones push web de Firefox, explicando cómo administrar los permisos de notificación a través de Configuración > Privacidad y seguridad > Notificaciones, y cómo controlar los permisos de sitios específicos a través del icono de información del sitio en la barra de direcciones.
    * [Safari](https://support.apple.com/guide/safari/customize-website-notifications-sfri40734/mac) - Esta guía de Apple explica cómo personalizar las notificaciones de Safari en Mac a través de Safari > Preferencias > Sitios web > Notificaciones, donde puede administrar qué sitios pueden enviar notificaciones y controlar el comportamiento de las notificaciones a través de Preferencias del Sistema.
    * [Edge](https://support.microsoft.com/en-us/microsoft-edge/manage-website-notifications-in-microsoft-edge-0c555609-5bf2-479d-a59d-fb30a0b80b2b) - Este artículo detalla cómo administrar las notificaciones de Edge navegando a Configuración > Privacidad, búsqueda y servicios > Permisos del sitio > Notificaciones, o haciendo clic en el icono de información del sitio en la barra de direcciones.
  </Step>

  <Step title="No se cumplen los requisitos de iOS/iPadOS.">
    Para iOS, existen algunos requisitos adicionales para solicitar a los usuarios su suscripción. Se puede ver más información en la guía [Push web móvil para iOS/iPadOS](/docs/es/web-push-for-ios).
  </Step>
</Steps>

***

## Pasos para solucionar problemas

Después de verificar lo anterior, sigue estos pasos para solucionar problemas de tu configuración del Web SDK de OneSignal.

<Steps>
  <Step title="Abrir la consola de herramientas de desarrollador del navegador">
    Las herramientas de desarrollador del navegador se pueden usar para interactuar con nuestro Web SDK en tu página web y habilitar el registro para verificar errores.

    <Tabs>
      <Tab title="Desktop">
        * **Chrome**: Haz clic derecho en la página, haz clic en *Inspeccionar* y haz clic en la pestaña *Consola* de la ventana emergente que se abre.
        * **Firefox**: Haz clic derecho en la página, haz clic en *Inspeccionar elemento* y haz clic en la pestaña *Consola* de la ventana emergente que se abre.
        * **Safari**: Ve a **Safari → Preferencias → Avanzado** y asegúrate de que *Mostrar menú Desarrollar en la barra de menús* esté marcado. Luego, en tu página web, haz clic derecho, haz clic en *Inspeccionar elemento* y haz clic en la pestaña *Consola* de la ventana emergente que se abre.

        <Frame caption="Consola de herramientas de desarrollador de escritorio">
          <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 en Android**: [Habilitar depuración USB](https://developer.chrome.com/docs/devtools/remote-debugging/), conecta tu dispositivo a tu computadora y accede a las herramientas de desarrollador con `chrome://inspect#devices` en tu navegador Chrome de escritorio.
        * **Firefox en Android**: [Habilitar depuración USB](https://developer.mozilla.org/en-US/docs/Tools/about:debugging), conecta tu dispositivo a tu computadora y accede a las herramientas de desarrollador con `about:debugging` en tu navegador Firefox de escritorio.
      </Tab>

      <Tab title="iOS">
        1. [Habilitar el inspector web en iOS](https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html).
        2. Abre el navegador Safari en tu Mac y selecciona **Desarrollar > tu dispositivo > tu sitio**.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Habilitar el registro del Web SDK">
    Ahora puedes ejecutar comandos en la Consola de herramientas de desarrollador. Ejecuta el siguiente código:

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

    * Deberías ver `undefined` como resultado.
    * Cierra la pestaña y abre una nueva en la misma página. Solo actualizar no activará todos los eventos de inicialización del SDK.
    * Comenzarás a ver los registros del SDK de OneSignal en la Consola.

    <Frame caption="Consola con registros detallados del 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>

### Errores de configuración

Puedes encontrar los siguientes errores después de que OneSignal se inicialice:

<Danger>
  Error: SDK already initialized
</Danger>

<Frame caption="Error de inicialización duplicada del 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>

**Lo que esto significa:** El código `init` del Web SDK de OneSignal se está llamando más de una vez, a menudo causado por combinar la configuración del plugin de WordPress con código manual o agregar accidentalmente el código `init` de OneSignal varias veces.

**Cómo solucionarlo:** Elimina cualquier llamada `init` duplicada. Si usas el plugin de WordPress, elimina cualquier código manual de OneSignal de tus archivos de tema.

<Danger>
  Error: Can only be used on: (URL establecida en el panel de OneSignal)
</Danger>

<Frame caption="El ejemplo muestra que la URL establecida en el panel de OneSignal `http://127.0.0.1:5501` no es el origen del sitio actual que estás 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>

**Lo que esto significa:** El dominio que estás visitando actualmente no coincide con la URL del sitio configurada en tu panel de OneSignal.

**Cómo solucionarlo:** Copia la URL del sitio en tu navegador y pégala en la configuración de **Configuración > Push e In-app > Web > URL del sitio** de tu panel de OneSignal. Asegúrate de que sea el origen del sitio usando el siguiente formato:

* **Protocolo:** Debe ser `https://` (para pruebas locales, consulta [Configuración de Localhost](./web-sdk-setup#local-testing))
* **Dominio:** `example.com` vs `www.example.com`
* **Subdominio:** `app.example.com` vs `example.com`

Los tres componentes deben coincidir entre la URL real de tu sitio y la configuración de tu panel.

<Danger>
  Error: 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="Ejemplo del error de sitio HTTP no compatible">
  <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>

**Lo que esto significa:** Tu panel de OneSignal está configurado para usar un sitio HTTP y probablemente actualizaste para usar HTTPS.

Tus usuarios que se suscribieron a tu sitio mientras usaban HTTP o la opción "Mi sitio no es completamente HTTPS" en realidad están suscritos a un subdominio que te proporcionamos en el formato `https://your-label.os.tc` y no al origen real de tu sitio. Esto se debe a que el web push no es compatible con sitios HTTP o sitios web que no pueden alojar service workers.

**Cómo solucionarlo:** Tienes 2 opciones, pero ambas requieren que tus usuarios se vuelvan a suscribir porque en realidad están suscritos al subdominio `os.tc`.

1. Crea una nueva aplicación de OneSignal y establece el nuevo ID de aplicación en tu código de inicialización de OneSignal. El beneficio de esto es que puedes continuar enviando push desde la aplicación antigua/original de OneSignal. Envía tantas notificaciones como quieras informando a tus usuarios que el sitio se ha actualizado y que deben volver y suscribirse nuevamente para seguir recibiendo actualizaciones. Ofrecer un descuento o incentivo para volver a suscribirse ayuda mucho. Establece la "URL de lanzamiento" en una página de destino y proporciónales un botón para suscribirse fácilmente nuevamente como nuestro mensaje de campana, mensaje de enlace personalizado o mensaje de diapositiva de categoría. Consulta [Mensajes de permiso](./permission-requests) para más detalles.

2. Si deseas mantener el mismo ID de aplicación, necesitarías usar nuestra API de [Actualizar una aplicación](/reference/update-an-app) para actualizar el `chrome_web_origin` y el `safari_site_origin` al origen HTTPS de tu sitio. Debido a que estos usuarios se suscribieron al subdominio `os.tc`, no tienen permisos de push permitidos en el navegador para tu sitio. El navegador no "sabe" que están suscritos a tu sitio, por lo que recibirán el mensaje nuevamente. Si se suscriben nuevamente, tendrán 2 suscripciones de web push a tu sitio en el mismo navegador y recibirán notificaciones duplicadas. Por esta razón, recomendamos [eliminar todos tus suscriptores actuales de web push](./delete-users) para evitar que reciban notificaciones duplicadas. Antes de eliminarlos, envía algunas notificaciones informándoles que el sitio se ha actualizado y que deben suscribirse nuevamente para seguir recibiendo actualizaciones. Ofrecer un descuento o incentivo para volver a suscribirse funciona muy bien. Establece la "URL de lanzamiento" en una página de destino y proporciónales un botón para suscribirse fácilmente nuevamente como nuestro mensaje de campana, mensaje de enlace personalizado o mensaje de diapositiva de categoría. Consulta [Mensajes de permiso](./permission-requests) para más detalles.

### Errores de instalación del service worker

Si se te presenta el [mensaje de permiso nativo](./permission-requests) y haces clic en "Permitir", puedes encontrar los siguientes errores de instalación del service worker:

<Danger>
  Y: Falló el registro de un Service Worker.
</Danger>

<Danger>
  \[Instalación del Service Worker] Falló la instalación del service worker TypeError: No se pudo registrar un ServiceWorker para el alcance ('`https://your-site.com/`') con el script ('`https://your-site.com/...`'): Se recibió un código de respuesta HTTP incorrecto (404) al obtener el script.
</Danger>

<Danger>
  \[Instalación del Service Worker] Falló la instalación del service worker TypeError: No se pudo registrar un ServiceWorker para el alcance ('`https://www.yoursite.com/`') con el script ('`https://www.yoursite.com/...`'): Se recibió un código de respuesta HTTP incorrecto (403) al obtener el script.
</Danger>

<Frame caption="Ejemplo de un error de instalación del 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>
  El script tiene un tipo MIME no compatible ('tipo MIME actual').
  \[Instalación del Service Worker] Falló la instalación del service worker SecurityError: No se pudo registrar un ServiceWorker para el alcance ('[https://your-site.com/](https://your-site.com/)') con el script ('[https://your-site.com/](https://your-site.com/)...'): El script tiene un tipo MIME no compatible ('tipo MIME actual').
</Danger>

<Frame caption="Error de tipo MIME en el 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>
  \[Instalación del Service Worker] Falló la instalación del service worker SecurityError: No se pudo registrar un ServiceWorker para el alcance ('[https://your-site.com/](https://your-site.com/)') con el script ('[https://your-site.com/](https://your-site.com/)...'): El recurso del script está detrás de una redirección, lo cual no está permitido.
</Danger>

<Frame caption="Error de redirección en la consola">
  <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>

**Lo que esto significa:** Tu archivo de service worker está configurado incorrectamente.

**Cómo solucionarlo:**

<Steps>
  <Step title="Encuentra la ruta de tu service worker">
    Nuestro SDK busca el archivo de service worker `OneSignalSDKWorker.js` en el directorio raíz de tu sitio a menos que especifiques un nombre de archivo o ubicación personalizada como se describe en la [Guía de configuración del Service Worker](./onesignal-service-worker).

    Asegúrate de haber configurado el nombre de archivo, ubicación y alcance correctos para que nuestro SDK encuentre el archivo del service worker.
  </Step>

  <Step title="Visita el archivo del service worker directamente en tu navegador">
    Según tu configuración, abre el archivo directamente en tu navegador.

    * Si no configuraste una ubicación personalizada, entonces deberías ver el código JavaScript del archivo del service worker en la raíz de tu sitio: `https://yoursite.com/OneSignalSDKWorker.js`
    * Si usas WordPress, deberías verlo aquí: `https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`
    * Si usas una ubicación personalizada, deberías verlo aquí: `https://yoursite.com/your-custom-location/OneSignalSDKWorker.js`

    <Warning>
      Los nombres de archivo distinguen entre mayúsculas y minúsculas. Asegúrate de usar `OneSignalSDKWorker.js` o el nombre de archivo que configuraste.

      Algunos servidores convertirán automáticamente el nombre del archivo a minúsculas. Ten esto en cuenta si no puedes encontrar el archivo.
    </Warning>
  </Step>

  <Step title="Verifica que el archivo se cargue">
    * Deberías ver el siguiente código JavaScript:
      ```javascript JavaScript theme={null}
      importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
      ```
    * Este archivo debe servirse con un `content-type` de `application/javascript`.
    * No puede haber redirecciones a este archivo. Los archivos deben estar alojados en el mismo dominio que tu sitio (sin dominios CDN o proxy)
  </Step>
</Steps>

<Check>
  Revisa la [Guía de configuración del Service Worker](./onesignal-service-worker) para obtener instrucciones de configuración más detalladas.
</Check>

### Notificaciones no mostradas

Esta sección asume:

1. Has revisado la guía [Notificaciones no mostradas: Web Push](./notifications-not-shown-web-push) para conocer las razones comunes por las que las notificaciones pueden no estar apareciendo en tu dispositivo.
2. Se te mostró el [mensaje de permiso nativo](./permission-requests) y hiciste clic en "Permitir". Consulta [Problemas de visualización del mensaje](#problemas-de-visualización-del-mensaje) arriba si no te suscribiste a través del mensaje de permiso nativo.

Si lo anterior es cierto, sigue estos pasos para verificar tu ID de suscripción y enviarte una notificación push:

<Steps>
  <Step title="Obtener tu ID de suscripción">
    Ejecuta el siguiente código en la consola de herramientas de desarrollador del 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();
    ```

    Esto te dirá:

    * La URL de la página en la que estás si hay alguna confusión.
    * Si el navegador actual que estás usando soporta notificaciones push.
      * `true` significa que el navegador soporta notificaciones push.
      * `false` significa que el navegador no soporta notificaciones push.
    * Si estás suscrito a notificaciones en el navegador.
      * `true` significa que permitiste permisos push para esta URL.
      * `false` significa que no permitiste o denegaste permisos push para esta URL.
    * Si estás optado con OneSignal.
      * `true` significa que tu suscripción está suscrita a notificaciones push en OneSignal.
      * `false` significa que tu suscripción no está suscrita a notificaciones push en OneSignal. Verifica si el [método `optOut()`](./web-sdk-reference) se está llamando en tu sitio.
    * Tu ID de suscripción de OneSignal.

      * Guarda esto para el siguiente paso. Este es el ID que usarás para enviarte una notificación push.

          <Frame caption="Ejemplo de información del usuario">
            <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>
            Guarda estos datos de la consola en un archivo de texto y compártelos con nuestro equipo de soporte si necesitas más ayuda.
          </Warning>
  </Step>

  <Step title="Enviarte una notificación">
    Si estás suscrito a notificaciones, optado con OneSignal y tienes un ID de suscripción, puedes enviarte una notificación.

    Sigue los pasos en [Buscar y configurar suscripciones de prueba](./test-users) para configurarte como probador y enviarte una notificación.
  </Step>

  <Step title="Probar con Chrome">
    Si no estás recibiendo notificaciones en Chrome, usa estas herramientas de diagnóstico específicas de Chrome para identificar el problema.

    1. En una nueva pestaña, abre `chrome://gcm-internals`.
    2. Haz clic en el botón "Start Recording" en la parte superior izquierda. Asegúrate de ver "Connection State: CONNECTED".
    3. Deja esto abierto y envíate otra notificación push a tu suscripción de web push de Chrome.
    4. Deberías ver algo en el "Receive Message Log" si lo recibiste.

    <Frame caption="Registro de internos de 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>

    * Si no ves un "Data msg received", entonces tu navegador Chrome no está recibiendo la notificación en absoluto. Por favor háznos saber sobre esto en soporte.
    * Si ves "Data msg received" pero aún no recibiste una notificación, continúa con el siguiente paso.

    5. Abre una nueva pestaña en `chrome://serviceworker-internals`
    6. Busca `Scope: https://your-site.com` (reemplaza `your-site.com` con el dominio real de tu sitio).
    7. Haz clic en **Inspect**, o **Start -> Inspect**. Aparecerá una ventana emergente de Chrome Developer Tools.

    <Frame caption="Inspeccionando el 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. En la ventana emergente de Chrome Developer Tools de nuestro service worker, haz clic en la pestaña **Console** y ejecuta `OneSignalWorker.log.trace();`. Debería devolver `undefined`. Cualquier mensaje de nuestro service worker debería aparecer ahora en esta ventana emergente.
  </Step>
</Steps>

<Info>
  ¿Necesita ayuda?

  Chatee con nuestro equipo de Soporte o envíe un correo electrónico a `support@onesignal.com`

  Por favor incluya:

  * Detalles del problema que está experimentando y pasos para reproducir si están disponibles
  * Su ID de aplicación de OneSignal
  * El ID externo o ID de suscripción si corresponde
  * La URL del mensaje que probó en el panel de OneSignal si corresponde
  * Cualquier [registro o mensaje de error](/docs/es/capturing-a-debug-log) relevante

  ¡Estamos felices de ayudar!
</Info>

***
