Requisitos
- Sitio web HTTPS: El push web no funciona en HTTP ni en modos de navegación incógnito/privada.
- Acceso al servidor: Necesitarás subir un archivo service worker a tu sitio.
- Origen único: El push web sigue la política de mismo origen. Si tienes múltiples orígenes (dominios/subdominios), necesitarás múltiples aplicaciones OneSignal (una por origen). Para cumplir con esta limitación del navegador, puedes:
- Redirigir el tráfico a un único origen para las suscripciones.
- Crear múltiples aplicaciones OneSignal, una por origen.
Configurar tu aplicación y plataforma OneSignal
En el panel de OneSignal:- Ve a Settings > Push & In-App > Web.
- Selecciona el tipo de integración Custom Code.
Configuración del sitio
Agrega los detalles del sitio:- Site Name: El nombre de tu sitio y el título de notificación predeterminado.
- Site URL: El origen exacto de tu sitio, por ejemplo
https://yourdomain.com. Evita usarwww.si tu sitio no está configurado así. Consulta los Requisitos si tienes múltiples orígenes. - Auto Resubscribe: Habilita esto para resuscribir automáticamente a los usuarios que borren sus datos del navegador cuando regresen a tu sitio (sin necesidad de una nueva solicitud de permiso).
- Default Icon URL: Sube un PNG, JPG o GIF no animado cuadrado de
256×256que aparece en notificaciones y prompts. Si no se configura, se usa un ícono de campana como predeterminado. Consulta Iconos de notificación.

Configuración web en el panel de OneSignal
Pruebas locales
Para probar en localhost, usa una aplicación OneSignal separada de tu aplicación de producción y agregaallowLocalhostAsSecureOrigin: true a tus opciones de init.
Si estás probando localhost en HTTPS con un certificado autofirmado, puede que necesites indicarle a Chrome que ignore certificados inválidos con --allow-insecure-localhost. Firefox y Safari proporcionan mecanismos integrados para agregar excepciones para certificados de seguridad.
Notificación de bienvenida (opcional)
El código personalizado configura la notificación de bienvenida enOneSignal.init() con los parámetros de welcomeNotification. Las integraciones de sitio típico y WordPress la configuran en el panel. Consulta Configuración del Web SDK.
Subir el archivo service worker
El Web SDK buscaOneSignalSDKWorker.js en la raíz de tu sitio (https://yourdomain.com/OneSignalSDKWorker.js) a menos que pases una ruta personalizada en OneSignal.init().
El código personalizado no usa los campos Customize service worker paths and filenames del panel. Le indicas al SDK dónde buscar en el código con serviceWorkerPath y serviceWorkerParam.
Descarga el archivo desde el panel de OneSignal, o crea un archivo llamado OneSignalSDKWorker.js con esta única línea:
https://yourdomain.com/OneSignalSDKWorker.js. No necesitas configurar serviceWorkerPath. El SDK solicita esta URL automáticamente.
Subdirectorio: Si tu sitio ya tiene un service worker (por ejemplo, una PWA), coloca el archivo de OneSignal en un subdirectorio como /push/onesignal/ para que no entre en conflicto con el worker que controla /. En ese caso, debes pasar serviceWorkerPath y serviceWorkerParam en OneSignal.init(). Consulta Agregar código al sitio. El archivo debe ser accesible públicamente en https://yourdomain.com/push/onesignal/OneSignalSDKWorker.js.
Service worker de OneSignal
Agregar código al sitio
Agrega este código a la sección<head> de tu sitio web. Reemplaza YOUR_ONESIGNAL_APP_ID con tu App ID del panel de OneSignal.
Si OneSignalSDKWorker.js está en la raíz de tu sitio, usa este fragmento:
serviceWorkerPath y serviceWorkerParam. Estas opciones son la única forma en que el código personalizado le indica al SDK una ubicación fuera de la raíz.
persistNotification. El interruptor de persistencia del panel no aplica al código personalizado. Si omites la opción, el SDK actualmente trata la persistencia como activada. Configura persistNotification: false para desactivarla. Solo funciona en Chrome y Edge en escritorio. Consulta Persistencia.
Soporte de push web para iOS
Apple comenzó a soportar notificaciones push web en iPhones y iPads con iOS 16.4+. A diferencia de los dispositivos Android donde el push web simplemente “funciona” si se visita en un navegador compatible, Apple agregó algunos requisitos adicionales como un archivomanifest.json y una acción del usuario para agregar tu sitio a su pantalla de inicio.
Configuración push web para iOS
manifest.json requerido y guía a los usuarios para agregar tu sitio a su pantalla de inicio.Certificado Safari Web Push .p12 (opcional, legado)
Deja esto desactivado a menos que ya tengas tu propio certificado.p12 de Safari Web Push y quieras dar soporte a usuarios de Safari legado. Safari moderno (macOS 13+ y iOS 16.4+) usa Web Push basado en estándares con VAPID (Voluntary Application Server Identification). OneSignal gestiona VAPID automáticamente. No necesitas subir un certificado para navegadores Safari modernos.
Si ya tienes tu propio .p12 (Apple no admite .p8 para Safari Web Push), súbelo en el panel. Consulta Certificado Safari Web Push .p12.
Probar la integración del SDK de OneSignal
Esta guía le ayuda a verificar que su integración del SDK de OneSignal funciona correctamente mediante la prueba de notificaciones push y el registro de suscripciones.Verificar suscripciones de web push
Inicie su sitio en un dispositivo de prueba.
- Use Chrome, Firefox, Edge o Safari durante las pruebas.
- No use el modo incógnito o navegación privada. Los usuarios no pueden suscribirse a notificaciones push en estos modos.
- Los avisos deben aparecer según la configuración de sus solicitudes de permiso.
- Haga clic en Permitir en el aviso nativo para suscribirse a notificaciones push.

Aviso de permiso nativo de web push
Revise su panel de OneSignal
- Vaya a Audiencia > Suscripciones.
- Debería ver una nueva entrada con el estado Suscrito.

Panel mostrando suscripción con estado 'Suscrito'
Configurar suscripciones de prueba
Las suscripciones de prueba son útiles para probar una notificación push antes de enviar un mensaje.Agregar a Suscripciones de prueba.

Agregar un dispositivo a Suscripciones de prueba
Nombre su suscripción.
Cree un segmento de usuarios de prueba.
Nombre el segmento.
Test Users (el nombre es importante porque se usará más adelante).Agregue el filtro Test Users y haga clic en Crear segmento.

Crear un segmento 'Test Users' con el filtro Test Users
Enviar push de prueba mediante API
Obtenga su clave API de aplicación y ID de aplicación.
Actualice el código proporcionado.
YOUR_APP_API_KEY y YOUR_APP_ID en el código a continuación con sus claves reales. Este código usa el segmento Test Users que creamos anteriormente.Ejecute el código.
Verifique imágenes y entrega confirmada.

Notificación push expandida con imagen en Chrome macOS
Verifique la entrega confirmada.
Informes de mensajes de notificaciones push
support@onesignal.com con lo siguiente:
- La solicitud y respuesta de la API (copie y pegue en un archivo
.txt) - Su ID de suscripción
- La URL de su sitio web con el código de OneSignal
Identificación de usuarios
La sección anterior cubrió la creación de suscripciones de web push. Esta sección expande la identificación de usuarios en todas sus suscripciones (incluyendo push, email y SMS) usando el SDK de OneSignal. Cubre IDs externos, etiquetas, suscripciones multicanal, privacidad y seguimiento de eventos para ayudarle a unificar e involucrar usuarios en todas las plataformas.Asignar ID externo
Use un ID externo para identificar usuarios de manera consistente en dispositivos, direcciones de correo electrónico y números de teléfono usando el identificador de usuario de su backend. Esto asegura que sus mensajes permanezcan unificados en todos los canales y sistemas de terceros (especialmente importante para integraciones). Establezca el ID externo con el métodologin del SDK cada vez que un usuario sea identificado por su aplicación.
Agregar etiquetas de datos
Las etiquetas son pares clave-valor de datos de cadena que puede usar para almacenar propiedades de usuario (comousername, role o preferencias) y eventos (como purchase_date, game_level o interacciones de usuario). Las etiquetas alimentan la personalización de mensajes y segmentación avanzadas, permitiendo casos de uso más avanzados.
Establezca etiquetas con los métodos addTag y addTags del SDK a medida que ocurren eventos en su aplicación.
En este ejemplo, el usuario alcanzó el nivel 6 identificable por la etiqueta llamada current_level establecida en un valor de 6.

Un perfil de usuario en OneSignal con una etiqueta llamada "current_level" establecida en "6"

Editor de segmentos mostrando un segmento dirigido a usuarios con un valor de current_level mayor que 4 y menor que 10

Captura de pantalla mostrando una notificación push dirigida al segmento Nivel 5-10 con un mensaje personalizado
Agregar suscripciones de email y/o SMS
El SDK de OneSignal crea suscripciones de web push automáticamente cuando los usuarios aceptan. También puede llegar a los usuarios a través de canales de email y SMS creando las suscripciones correspondientes.- Use el método
addEmailpara crear suscripciones de email. - Use el método
addSmspara crear suscripciones de SMS.

Un perfil de usuario con suscripciones de push, email y SMS unificadas por ID externo
- Obtenga consentimiento explícito antes de agregar suscripciones de email o SMS.
- Explique los beneficios de cada canal de comunicación a los usuarios.
- Proporcione preferencias de canal para que los usuarios puedan seleccionar qué canales prefieren.
Privacidad y consentimiento del usuario
Para controlar cuándo OneSignal recopila datos del usuario, use los métodos de control de consentimiento del SDK:setConsentRequired(true): Previene la recopilación de datos hasta que se otorgue el consentimiento.setConsentGiven(true): Habilita la recopilación de datos una vez que se otorgue el consentimiento.
Datos recopilados por el SDK
Manejo de datos personales
Escuchar eventos de push, usuario e in-app
Use los listeners del SDK para reaccionar a acciones de usuario y cambios de estado. El SDK proporciona varios listeners de eventos a los que puede conectarse. Consulte nuestra guía de referencia del SDK para más detalles.Eventos de notificación push
- Listener de evento de clic: Detecte cuándo se toca una notificación.
- Listener de ciclo de vida en primer plano: Controle cómo se comportan las notificaciones en primer plano.
Cambios de estado del usuario
- Listener de evento de cambio de estado del usuario: Detecte cuándo se establece el ID externo.
- Observador de permisos: Rastree la interacción específica del usuario con el aviso de permiso push nativo.
- Observador de cambio de suscripción push: Rastree cuándo cambia el estado de la suscripción push.
Configuración y capacidades avanzadas
Explore más capacidades para mejorar su integración:Migrar a OneSignal
Integraciones
Botones de acción
Mensajería multiidioma
Verificación de identidad
Resultados personalizados
Configuración y referencia del Web SDK
Configuración de web push
Referencia del Web SDK
Preguntas frecuentes
¿Dónde busca el Web SDK el service worker?
El Web SDK buscaOneSignalSDKWorker.js en la raíz de tu sitio (https://yourdomain.com/OneSignalSDKWorker.js) a menos que pases serviceWorkerPath y serviceWorkerParam en OneSignal.init(). El código personalizado no usa los campos de ruta del panel. Consulta Subir el archivo service worker.