Descripción general
La limitación de push controla la velocidad a la que OneSignal entrega notificaciones push. Usa la limitación para distribuir la entrega a lo largo del tiempo — previniendo la sobrecarga del servidor, evitando la degradación del rendimiento durante envíos masivos y manteniendo una experiencia de usuario consistente en todos los dispositivos.Por qué los envíos push afectan a tus servidores
Enviar una notificación push a una audiencia grande puede generar un pico repentino de tráfico en tus propios servidores — incluso si tu tasa de clics es baja. Esto ocurre porque la entrega en sí misma (no solo los clics) activa múltiples tipos de solicitudes de vuelta a tu infraestructura. Entender estas fuentes te ayuda a elegir la estrategia de mitigación adecuada.Imágenes y medios auto-hospedados
Cuando una notificación push incluye una imagen (comobig_picture o chrome_web_image), cada dispositivo que recibe la notificación descarga esa imagen inmediatamente al recibirla. Si la imagen está hospedada en tus propios servidores en lugar de una CDN, esto crea una solicitud HTTP por notificación entregada — potencialmente decenas de miles de solicitudes en segundos.
Recomendaciones:
- Hospeda las imágenes de notificaciones en una CDN (p. ej., CloudFront, Cloudflare, Fastly) en lugar de tus servidores de aplicaciones.
- Usa la limitación de push para distribuir la entrega en el tiempo si debes auto-hospedar medios.
Aperturas simultáneas de la aplicación
La entrega push impulsa a muchos usuarios a abrir tu aplicación al mismo tiempo. Cada apertura de la app normalmente genera múltiples solicitudes a tu backend: inicialización de sesión, obtención de contenido, llamadas a API y eventos de análisis. Incluso una tasa de apertura moderada puede traducirse en un pico de tráfico significativo si se entregan miles de notificaciones simultáneamente. Recomendaciones:- Usa la limitación de push para escalonar la entrega y distribuir las aperturas de la app en una ventana de tiempo más amplia.
- Asegúrate de que tu backend pueda manejar el tráfico de ráfagas de envíos de alto volumen, o usa una infraestructura con autoescalado.
Event Streams
Si tienes Event Streams configurado con un destino webhook, OneSignal envía una solicitud HTTP a tu endpoint para cada evento (p. ej.,message.sent, message.delivered, message.clicked) en tiempo real. Durante un envío push masivo, esto puede producir una ráfaga de solicitudes webhook proporcional al tamaño de tu audiencia.
OneSignal no limita la tasa del tráfico webhook saliente de Event Stream. Tu endpoint debe ser capaz de manejar el volumen de eventos generado por tus envíos de mensajes.
- Asegúrate de que tu endpoint webhook pueda manejar el rendimiento proporcional al tamaño de tu audiencia.
- Usa una cola o búfer intermediario (p. ej., Amazon Kinesis, Google Pub/Sub) en lugar de un webhook directo para absorber las ráfagas. Event Streams admite estos como destinos de forma nativa.
- Usa la limitación de push para reducir la tasa máxima de eventos que llegan a tu endpoint.
Journey webhooks
Los Journey webhooks envían solicitudes HTTP a tus servidores cuando los usuarios alcanzan pasos específicos en un Journey. Aunque los Journeys naturalmente regulan la entrega según el comportamiento del usuario, los Journeys de alto tráfico aún pueden generar un volumen webhook significativo. Los endpoints lentos o sobrecargados pueden activar la deshabilitación automática del webhook. Recomendaciones:- Diseña tu endpoint webhook para responder rápidamente (devolver
200 OK) y diferir el procesamiento pesado a un trabajo en segundo plano. - Monitorea las respuestas
429de tu endpoint, que pueden activar que OneSignal deshabilite el webhook. - Revisa la guía de rendimiento en la documentación de Journey webhooks.
Obtención de Service Worker (web push)
Para web push, los navegadores obtienen periódicamente de nuevo el archivo OneSignal Service Worker de tu servidor (normalmente cuando expira la caché, hasta cada 24 horas). Cuando se entrega una notificación push, el navegador puede verificar si hay un archivo Service Worker actualizado — generando una solicitud por suscripción web push de vuelta a tu servidor de hospedaje. Recomendaciones:- Sirve el archivo
OneSignalSDKWorker.jsdesde una CDN o asegúrate de que tu servidor de hospedaje pueda manejar el volumen de solicitudes. - Establece cabeceras de caché apropiadas para reducir la frecuencia de re-obtención.
- Consulta la documentación de OneSignal Service Worker para más detalles.
Elegir el enfoque adecuado
| Fuente de tráfico | ¿Afectado por la limitación? | Mitigación alternativa |
|---|---|---|
| Imágenes auto-hospedadas | Sí — entrega más lenta = menos descargas simultáneas | Hospedar en una CDN |
| Aperturas simultáneas de la app | Sí — entrega escalonada distribuye las sesiones de usuario | Infraestructura con autoescalado |
| Event Streams (webhooks) | Sí — entrega más lenta = menor tasa de eventos | Usar un destino basado en colas (Kinesis, Pub/Sub, etc.) |
| Journey webhooks | No — los Journeys no admiten limitación | Optimizar el rendimiento del endpoint; usar procesamiento en segundo plano |
| Obtención de Service Worker | Sí — entrega más lenta = menos obtenciones simultáneas | Hospedaje en CDN; cabeceras de caché |
Opciones de configuración
La limitación debe estar habilitada a nivel de configuración global para estar disponible para uso.Configuración de limitación global
Habilita la limitación para todos los mensajes push bajo Settings > Push & In-App > Throttling. Una vez habilitado, esta configuración se aplica a todas las notificaciones push por defecto, pero puede ser sobrescrita para mensajes individuales.
Sobrescritura de limitación por mensaje
Puedes sobrescribir la configuración de limitación global en mensajes individuales.- Durante la creación de notificación, marca la casilla “Override throttling setting”
- Establece tu tasa de mensajes por minuto deseada
- Para deshabilitar la limitación para un mensaje específico, ingresa “0” en el campo de mensajes por minuto
throttle_rate_per_minute.
Cómo funciona la limitación
Proceso de conversión de tasa
OneSignal convierte tu configuración por minuto a una tasa por segundo para optimizar la entrega:- El sistema divide tu tasa de limitación por 60 (segundos por minuto)
- El resultado se redondea hacia abajo al número entero más cercano (OneSignal no puede enviar mensajes parciales)
- Esta tasa por segundo se aplica luego a lo largo del proceso de entrega
- OneSignal divide por 60: 1.019 ÷ 60 = 16,98 mensajes por segundo
- Redondea hacia abajo: 16 mensajes por segundo
- Tasa de entrega real: 16 × 60 = 960 mensajes por minuto (59 menos que la tasa establecida)
Limitaciones y consideraciones
Ventana de entrega de 24 horas
Todas las notificaciones limitadas deben completar la entrega dentro de 24 horas de ser enviadas. Si tu tasa de limitación causaría que la entrega exceda las 24 horas, OneSignal ajusta automáticamente la tasa para asegurar la finalización dentro de este plazo. Ejemplo: Estableces una tasa de limitación de 10 mensajes por minuto para 20.000 usuarios — la entrega tomaría aproximadamente 33 horas. OneSignal ajusta automáticamente la tasa a alrededor de 14 mensajes por minuto para completar la entrega dentro de 24 horas.Compatibilidad y disponibilidad
La limitación solo está disponible para notificaciones push enviadas mediante la API Create notification o la interfaz del panel Messages > New Push. No es compatible con Journeys ni con Automated Messages (consulta la tabla de resumen anterior).Zona horaria y Entrega Inteligente
La limitación tiene precedencia sobre la Zona horaria y la Entrega Inteligente. Cuando la limitación está habilitada, OneSignal ignora estas funciones para esa notificación. Para usar Zona horaria o Entrega Inteligente:- Deshabilita la limitación para esa notificación específica bajo Delivery Schedule
- Establece “Override throttling setting” en “0”
- Para notificaciones API, establece
throttle_rate_per_minute: 0
Preguntas frecuentes
¿La limitación funciona con Entrega Inteligente o entrega por Zona horaria?
No. La limitación tiene precedencia sobre la Entrega Inteligente y la entrega por Zona horaria. Cuando la limitación está habilitada para una notificación, OneSignal ignora estas funciones de programación. Para usar Entrega Inteligente o entrega por Zona horaria, establece la anulación de limitación en0 para esa notificación.
¿Qué sucede si mi tasa de limitación tomaría más de 24 horas?
OneSignal aumenta automáticamente la tasa de limitación para que la entrega se complete dentro de 24 horas. Por ejemplo, enviar a 20.000 usuarios a 10 mensajes por minuto tomaría ~33 horas, por lo que OneSignal ajusta la tasa a ~14 mensajes por minuto.¿Puedo limitar Journeys o Automated Messages?
No. La limitación solo se aplica a notificaciones push enviadas mediante el panel (Messages > New Push) o la API Create notification. Los Journeys y Automated Messages se entregan dinámicamente a medida que los usuarios califican, lo que naturalmente distribuye la entrega a lo largo del tiempo.¿Por qué mi tasa de entrega real es menor que la que establecí?
OneSignal convierte tu tasa por minuto a una tasa por segundo y redondea hacia abajo. Por ejemplo, 1.019 mensajes por minuto se convierte en 16 mensajes por segundo (1.019 ÷ 60 = 16,98, redondeado hacia abajo), resultando en una tasa real de 960 mensajes por minuto.Páginas relacionadas
Descripción general de push
Envía y gestiona notificaciones push móviles y web con OneSignal.
API de creación de notificaciones
Referencia de API para crear y enviar notificaciones, incluyendo la propiedad
throttle_rate_per_minute.Event Streams
Transmite eventos de entrega e interacción a webhooks, Kinesis o Pub/Sub.
OneSignal Service Worker
Configura el archivo Service Worker para notificaciones push web.
Descripción general de Journeys
Construye flujos de trabajo de mensajería de múltiples pasos que responden a las acciones del usuario.