Saltar al contenido principal

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 (como big_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.
Recomendaciones:
  • 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 429 de 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.js desde 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-hospedadasSí — entrega más lenta = menos descargas simultáneasHospedar en una CDN
Aperturas simultáneas de la appSí — entrega escalonada distribuye las sesiones de usuarioInfraestructura con autoescalado
Event Streams (webhooks)Sí — entrega más lenta = menor tasa de eventosUsar un destino basado en colas (Kinesis, Pub/Sub, etc.)
Journey webhooksNo — los Journeys no admiten limitaciónOptimizar el rendimiento del endpoint; usar procesamiento en segundo plano
Obtención de Service WorkerSí — entrega más lenta = menos obtenciones simultáneasHospedaje 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.
Push throttling settings in the OneSignal dashboard under Settings > Push & In-App > Throttling

Sobrescritura de limitación por mensaje

Puedes sobrescribir la configuración de limitación global en mensajes individuales.
  1. Durante la creación de notificación, marca la casilla “Override throttling setting”
  2. Establece tu tasa de mensajes por minuto deseada
  3. Para deshabilitar la limitación para un mensaje específico, ingresa “0” en el campo de mensajes por minuto
Para notificaciones enviadas por API, usa la propiedad 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:
  1. El sistema divide tu tasa de limitación por 60 (segundos por minuto)
  2. El resultado se redondea hacia abajo al número entero más cercano (OneSignal no puede enviar mensajes parciales)
  3. Esta tasa por segundo se aplica luego a lo largo del proceso de entrega
Ejemplo: Estableces una tasa de limitación de 1.019 mensajes por minuto.
  1. OneSignal divide por 60: 1.019 ÷ 60 = 16,98 mensajes por segundo
  2. Redondea hacia abajo: 16 mensajes por segundo
  3. Tasa de entrega real: 16 × 60 = 960 mensajes por minuto (59 menos que la tasa establecida)
Esta conversión asegura un procesamiento más eficiente eliminando retrasos entre lotes.

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 en 0 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.