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

# Opciones avanzadas Web Push

> Configuración avanzada de web push de OneSignal incluyendo pruebas en localhost, configuración de service worker, comportamiento de clic de notificaciones, configuraciones de persistencia e implementación de webhooks para integraciones personalizadas.

La sección Avanzada cubre configuraciones especializadas y comportamientos de notificaciones para clientes con requisitos específicos o implementaciones personalizadas.

## Webhooks Web Push

OneSignal proporciona Webhooks Web Push dedicados para manejar eventos de notificaciones. Ver [Webhooks Web Push](./webhooks) para detalles completos de implementación.

**Importante**: Los Webhooks Web Push son una implementación separada de los [Webhooks de eventos](./event-streams) y no pueden usarse de manera intercambiable.

## Configuración de Service Worker

OneSignal verifica automáticamente el alcance raíz para service workers por defecto. Sin embargo, **recomendamos encarecidamente personalizar tu integración para usar un alcance no raíz** para mejor seguridad y evitar conflictos con service workers existentes.

Sigue nuestra guía [Configuración Service Worker de OneSignal](./onesignal-service-worker) para implementar una configuración de alcance personalizado.

**¿Por qué usar un alcance no raíz?**

* Previene conflictos con service workers existentes
* Mejora la seguridad limitando el alcance de OneSignal
* Proporciona mejor control sobre la arquitectura de service worker de tu sitio

## Desarrollo y pruebas locales

Para propósitos de desarrollo y pruebas, consulta nuestra guía completa de [Pruebas locales](./web-sdk-setup#local-testing) que cubre:

* Configuración de entornos localhost
* Prueba de notificaciones sin certificados SSL
* Depuración de problemas comunes de desarrollo

## Comportamiento de clic de notificaciones

OneSignal soporta múltiples comportamientos de navegador cuando los usuarios hacen clic en notificaciones. Para manejo avanzado de URL y opciones como desactivar acciones de clic completamente, consulta [Deep-links y URLs](./links#no-linking).

### Comportamiento predeterminado

Cuando los usuarios hacen clic en una notificación y **no tienen tu sitio abierto**, el navegador abre una nueva pestaña y navega a la URL de la notificación.

### Cuando el sitio ya está abierto

Cuando los usuarios **tienen tu sitio abierto en una o más pestañas del navegador**, puedes configurar cómo responde el navegador:

**Navegación exacta** (Predeterminado)

* Coincide la URL exacta de la notificación (ej. `example.com/product`) con una pestaña abierta
* Navega a la URL de la notificación en esa pestaña coincidente
* Mejor para targeting de página específica

**Navegación de origen**

* Coincide el origen de la notificación (ej. `example.com`) con cualquier pestaña abierta de tu sitio
* Navega a la URL de la notificación en la pestaña coincidente
* Útil para navegación general del sitio

**Enfoque exacto**

* Coincide la URL exacta de la notificación con una pestaña abierta
* Enfoca en esa pestaña sin refrescar la página
* Ideal cuando no quieres interrumpir el estado actual de la página del usuario

**Enfoque de origen**

* Coincide el origen de la notificación con cualquier pestaña abierta de tu sitio
* Enfoca en esa pestaña sin refrescar la página
* Mejor para llamar la atención a tu sitio sin navegación

## Persistencia de notificaciones

Por defecto, las notificaciones se muestran durante aproximadamente 5 segundos antes de moverse al Historial de notificaciones, donde permanecen durante 1 semana antes de su eliminación automática por el sistema operativo.

### Habilitar notificaciones persistentes

Puedes hacer que las notificaciones persistan en pantalla hasta la interacción del usuario para suscriptores de navegadores Chrome y Edge.

<Warning>
  No todos los navegadores y sistemas operativos soportan notificaciones persistentes. Cuando se habilita, solo afecta a usuarios elegibles y puede impactar la apariencia de notificaciones reduciendo el conteo de caracteres y afectando la visualización de imágenes/botones.
</Warning>

**Consideraciones importantes:**

* Los suscriptores actuales deben volver a visitar tu sitio después de habilitar esta configuración para ver los cambios
* Las notificaciones persistentes pueden molestar a los usuarios si se usan en exceso
* Se recomienda solo para notificaciones de alta importancia (ej., aplicaciones de gestión de tareas)
* Los usuarios pueden pasar el cursor sobre las notificaciones para mantenerlas visibles para lectura

### Métodos de implementación

<Steps>
  <Step title="Configuración del dashboard">
    Usa el toggle "Persistence" en tu dashboard de OneSignal para habilitar/deshabilitar esta característica.

    <Frame caption="Toggle de persistencia de notificaciones">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/572d90d-Screen_Shot_2018-10-15_at_2.24.32_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=076105d6da65a0b144f81c7564169116" width="679" height="73" data-path="images/docs/572d90d-Screen_Shot_2018-10-15_at_2.24.32_PM.png" />
    </Frame>
  </Step>

  <Step title="Implementación con código personalizado">
    Agrega la propiedad `persistNotification` a la inicialización de tu [SDK Web Push](./web-sdk-reference):

    ```javascript theme={null}
    persistNotification: true,
    ```

    Incluye esto en tu código de inicialización de OneSignal para habilitar la persistencia para navegadores y sistemas operativos soportados.
  </Step>
</Steps>

### Compatibilidad de navegadores

**Navegadores soportados:**

* Chrome (soporte completo)
* Edge (soporte completo)

**Navegadores no soportados:**

* Firefox (la configuración no tiene efecto)
* Safari (la configuración no tiene efecto)

### Mejores prácticas

* **Usar con moderación**: Solo habilita para notificaciones verdaderamente importantes para evitar frustración del usuario
* **Probar exhaustivamente**: Verifica el comportamiento en diferentes navegadores y dispositivos
* **Monitorear retroalimentación del usuario**: Observa tasas aumentadas de opt-out que pueden indicar fatiga de notificaciones
* **Considerar el contexto**: Las notificaciones persistentes funcionan mejor para contenido sensible al tiempo o accionable

**Siguientes pasos:**

* Revisa tu estrategia de notificaciones para determinar si la persistencia es apropiada
* Prueba la característica con un segmento pequeño de usuarios antes del despliegue completo
* Monitorea métricas de engagement después de la implementación
* Considera implementar diferentes configuraciones de persistencia para diferentes tipos de notificaciones
