Passer au contenu principal

Aperçu

La limitation de débit push contrôle le rythme auquel OneSignal envoie les notifications push. Utilisez la limitation de débit pour répartir la livraison dans le temps — en évitant la surcharge du serveur, en prévenant la dégradation des performances lors d’envois massifs et en maintenant une expérience utilisateur cohérente sur tous les appareils.

Pourquoi les envois push affectent vos serveurs

L’envoi d’une notification push à un large public peut générer un pic soudain de trafic sur vos propres serveurs — même si votre taux de clics est faible. Cela se produit parce que la livraison elle-même (pas seulement les clics) déclenche plusieurs types de requêtes vers votre infrastructure. Comprendre ces sources vous aide à choisir la bonne stratégie d’atténuation.

Images et médias auto-hébergés

Lorsqu’une notification push inclut une image (comme big_picture ou chrome_web_image), chaque appareil qui reçoit la notification télécharge immédiatement cette image lors de la livraison. Si l’image est hébergée sur vos propres serveurs plutôt que sur un CDN, cela crée une requête HTTP par notification livrée — potentiellement des dizaines de milliers de requêtes en quelques secondes. Recommandations :
  • Hébergez les images de notifications sur un CDN (par ex., CloudFront, Cloudflare, Fastly) plutôt que sur vos serveurs d’application.
  • Utilisez la limitation de débit push pour répartir la livraison dans le temps si vous devez auto-héberger des médias.

Ouvertures simultanées de l’application

La livraison push incite de nombreux utilisateurs à ouvrir votre application en même temps. Chaque ouverture d’application génère généralement plusieurs requêtes vers votre backend : initialisation de session, récupération de contenu, appels API et événements analytiques. Même un taux d’ouverture modéré peut se traduire par un pic de trafic significatif si des milliers de notifications sont livrées simultanément. Recommandations :
  • Utilisez la limitation de débit push pour échelonner la livraison et répartir les ouvertures d’application sur une fenêtre temporelle plus large.
  • Assurez-vous que votre backend peut gérer le trafic en rafale des envois à haut volume, ou utilisez une infrastructure à mise à l’échelle automatique.

Event Streams

Si vous avez configuré Event Streams avec une destination webhook, OneSignal envoie une requête HTTP à votre endpoint pour chaque événement (par ex., message.sent, message.delivered, message.clicked) en temps réel. Lors d’un envoi push massif, cela peut produire une rafale de requêtes webhook proportionnelle à la taille de votre audience.
OneSignal ne limite pas le débit du trafic webhook sortant Event Stream. Votre endpoint doit être capable de gérer le volume d’événements généré par vos envois de messages.
Recommandations :
  • Assurez-vous que votre endpoint webhook peut gérer un débit proportionnel à la taille de votre audience.
  • Utilisez une file d’attente ou un tampon intermédiaire (par ex., Amazon Kinesis, Google Pub/Sub) au lieu d’un webhook direct pour absorber les rafales. Event Streams les prend en charge nativement comme destinations.
  • Utilisez la limitation de débit push pour réduire le taux de pointe des événements atteignant votre endpoint.

Journey webhooks

Les Journey webhooks envoient des requêtes HTTP à vos serveurs lorsque les utilisateurs atteignent des étapes spécifiques d’un Journey. Bien que les Journeys régulent naturellement la livraison en fonction du comportement des utilisateurs, les Journeys à fort trafic peuvent encore générer un volume webhook important. Des endpoints lents ou surchargés peuvent déclencher la désactivation automatique du webhook. Recommandations :
  • Concevez votre endpoint webhook pour répondre rapidement (retourner 200 OK) et différer le traitement lourd à un travail en arrière-plan.
  • Surveillez les réponses 429 de votre endpoint, qui peuvent déclencher la désactivation du webhook par OneSignal.
  • Consultez le guide de performance dans la documentation Journey webhooks.

Récupérations du Service Worker (web push)

Pour le web push, les navigateurs récupèrent périodiquement le fichier OneSignal Service Worker de votre serveur (généralement à l’expiration du cache, jusqu’à toutes les 24 heures). Lorsqu’une notification push est livrée, le navigateur peut vérifier s’il existe un fichier Service Worker mis à jour — générant une requête par abonnement web push vers votre serveur d’hébergement. Recommandations :
  • Servez le fichier OneSignalSDKWorker.js depuis un CDN ou assurez-vous que votre serveur d’hébergement peut gérer le volume de requêtes.
  • Définissez des en-têtes de cache appropriés pour réduire la fréquence de récupération.
  • Consultez la documentation OneSignal Service Worker pour plus de détails.

Choisir la bonne approche

Source de traficAffecté par la limitation ?Atténuation alternative
Images auto-hébergéesOui — livraison plus lente = moins de téléchargements simultanésHéberger sur un CDN
Ouvertures simultanées de l’appOui — livraison échelonnée répartit les sessions utilisateurInfrastructure à mise à l’échelle automatique
Event Streams (webhooks)Oui — livraison plus lente = taux d’événements plus faibleUtiliser une destination basée sur des files d’attente (Kinesis, Pub/Sub, etc.)
Journey webhooksNon — les Journeys ne prennent pas en charge la limitationOptimiser les performances du endpoint ; utiliser le traitement en arrière-plan
Récupérations Service WorkerOui — livraison plus lente = moins de récupérations simultanéesHébergement CDN ; en-têtes de cache

Options de configuration

La limitation de débit doit être activée au niveau des paramètres globaux pour être disponible à l’utilisation.

Paramètres globaux de limitation de débit

Activez la limitation de débit pour tous les messages push sous Settings > Push & In-App > Throttling. Une fois activé, ce paramètre s’applique à toutes les notifications push par défaut, mais peut être remplacé pour des messages individuels.
Push throttling settings in the OneSignal dashboard under Settings > Push & In-App > Throttling

Remplacement de la limitation de débit par message

Vous pouvez remplacer les paramètres globaux de limitation de débit sur des messages individuels.
  1. Lors de la création de la notification, cochez la case “Override throttling setting”
  2. Définissez votre taux de messages par minute souhaité
  3. Pour désactiver la limitation de débit pour un message spécifique, entrez “0” dans le champ messages par minute
Pour les notifications envoyées par API, utilisez la propriété throttle_rate_per_minute.

Fonctionnement de la limitation de débit

Processus de conversion du taux

OneSignal convertit votre paramètre par minute en un taux par seconde pour optimiser la livraison :
  1. Le système divise votre taux de limitation par 60 (secondes par minute)
  2. Le résultat est arrondi au nombre entier inférieur (OneSignal ne peut pas envoyer de messages partiels)
  3. Ce taux par seconde est ensuite appliqué tout au long du processus de livraison
Exemple : Vous définissez un taux de limitation de 1 019 messages par minute.
  1. OneSignal divise par 60 : 1 019 ÷ 60 = 16,98 messages par seconde
  2. Arrondi vers le bas : 16 messages par seconde
  3. Taux de livraison réel : 16 × 60 = 960 messages par minute (59 de moins que le taux défini)
Cette conversion assure un traitement plus efficace en éliminant les délais entre les lots.

Limitations et considérations

Fenêtre de livraison de 24 heures

Toutes les notifications limitées doivent terminer leur livraison dans les 24 heures suivant l’envoi. Si votre taux de limitation entraînerait une livraison dépassant 24 heures, OneSignal ajuste automatiquement le taux pour assurer la complétion dans ce délai. Exemple : Vous définissez un taux de limitation de 10 messages par minute pour 20 000 utilisateurs — la livraison prendrait environ 33 heures. OneSignal ajuste automatiquement le taux à environ 14 messages par minute pour terminer la livraison dans les 24 heures.

Compatibilité et disponibilité

La limitation de débit est uniquement disponible pour les notifications push envoyées via l’API Create notification ou l’interface du tableau de bord Messages > Nouveau Push. Elle n’est pas prise en charge pour les Journeys ou les messages automatisés (voir le tableau récapitulatif ci-dessus).

Fuseau horaire et livraison intelligente

La limitation de débit a la priorité sur le fuseau horaire et la livraison intelligente. Lorsque la limitation de débit est activée, OneSignal ignore ces fonctionnalités pour cette notification. Pour utiliser le fuseau horaire ou la livraison intelligente :
  • Désactivez la limitation de débit pour cette notification spécifique sous Programme de livraison
  • Définissez “Override throttling setting” sur “0”
  • Pour les notifications API, définissez throttle_rate_per_minute: 0

FAQ

La limitation de débit fonctionne-t-elle avec la livraison intelligente ou la livraison par fuseau horaire ?

Non. La limitation de débit a la priorité sur la livraison intelligente et la livraison par fuseau horaire. Lorsque la limitation de débit est activée pour une notification, OneSignal ignore ces fonctionnalités de planification. Pour utiliser la livraison intelligente ou la livraison par fuseau horaire, définissez la surcharge de limitation sur 0 pour cette notification.

Que se passe-t-il si mon taux de limitation prendrait plus de 24 heures ?

OneSignal augmente automatiquement le taux de limitation pour que la livraison se termine dans les 24 heures. Par exemple, envoyer à 20 000 utilisateurs à 10 messages par minute prendrait ~33 heures, OneSignal ajuste donc le taux à ~14 messages par minute.

Puis-je limiter les Journeys ou les messages automatisés ?

Non. La limitation de débit ne s’applique qu’aux notifications push envoyées via le tableau de bord (Messages > Nouveau Push) ou l’API Create notification. Les Journeys et les messages automatisés se livrent dynamiquement lorsque les utilisateurs se qualifient, ce qui répartit naturellement la livraison dans le temps.

Pourquoi mon taux de livraison réel est-il inférieur à ce que j’ai défini ?

OneSignal convertit votre taux par minute en taux par seconde et l’arrondit vers le bas. Par exemple, 1 019 messages par minute devient 16 messages par seconde (1 019 ÷ 60 = 16,98, arrondi vers le bas), résultant en un taux réel de 960 messages par minute.

Pages connexes

Vue d'ensemble du push

Envoyez et gérez des notifications push mobiles et web avec OneSignal.

API de création de notification

Référence API pour créer et envoyer des notifications, y compris la propriété throttle_rate_per_minute.

Event Streams

Diffusez des événements de livraison et d’engagement vers des webhooks, Kinesis ou Pub/Sub.

OneSignal Service Worker

Configurez le fichier Service Worker pour les notifications push web.

Vue d'ensemble des Journeys

Créez des flux de messagerie en plusieurs étapes qui répondent aux actions des utilisateurs.