Limitation et quotas FCM

Notre objectif est de toujours distribuer tous les messages envoyés à l'aide de FCM. Toutefois, l'envoi de chaque message peut parfois entraîner une mauvaise expérience utilisateur globale. Dans d'autres cas, nous devons définir des limites pour nous assurer que FCM fournit un service évolutif à tous les expéditeurs. Les types de limites et de quotas décrits dans cette section nous aident à équilibrer ces facteurs importants.

Limitation du nombre de messages en aval

L'API HTTP v1 a introduit des quotas par projet et par minute pour la messagerie en aval. Le quota par défaut de 600 000 messages par minute couvre plus de 99 % des développeurs FCM, tout en protégeant la stabilité du système et en minimisant l'impact des projets avec des pics d'utilisation.

Les pics de trafic peuvent entraîner des erreurs de dépassement de quota. En cas de dépassement du quota, le système renvoie le code d'état HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") jusqu'à ce que le quota soit réapprovisionné la minute suivante. Des réponses 429 peuvent également être renvoyées en cas de surcharge. Nous vous encourageons donc vivement à gérer les réponses 429 conformément aux recommandations publiées.

Keep in mind:

  • Le quota en aval mesure les messages, et non les requêtes.
  • Les erreurs client (codes d'état HTTP 400 à 499) sont comptabilisées (à l'exception des erreurs 429).
  • Les quotas sont définis à la minute, mais ces minutes ne sont pas alignées sur l'heure.

Quota de surveillance

Vous pouvez consulter les quotas, l'utilisation et les erreurs dans la console Google Cloud à l'aide des éléments suivants :

  1. Accédez à la console Google Cloud.
  2. Sélectionnez API et services.
  3. Dans la liste des tables, sélectionnez API Firebase Cloud Messaging.
  4. Sélectionnez QUOTAS ET LIMITES DU SYSTÈME.

Demander une augmentation du quota

Avant de demander une augmentation de quota, assurez-vous que :

  • Votre utilisation est régulièrement supérieure ou égale à 80 % du quota pendant au moins cinq minutes consécutives par jour.
  • Votre taux d'erreurs client est inférieur à 5 %, en particulier lors des pics de trafic.
  • Vous respectez les bonnes pratiques pour l'envoi de messages à grande échelle.

Si vous remplissez ces critères, vous pouvez demander une augmentation de quota de 25 % maximum. FCM fera tout son possible pour répondre à votre demande (aucune augmentation ne peut être garantie).

Si vous avez besoin d'un quota de messages en aval plus important en raison d'un lancement imminent ou d'un événement temporaire, demandez votre quota au moins 15 jours à l'avance pour nous laisser suffisamment de temps pour traiter votre demande. Pour les demandes importantes (> 18 millions de messages par minute), un préavis d'au moins 30 jours est requis. Les demandes de lancement et d'événements spéciaux restent soumises aux exigences concernant le ratio d'erreurs client et les bonnes pratiques.

Pour en savoir plus, consultez la page Quotas FCM.

Limites de messages par sujet et limitation de la diffusion

Pour en savoir plus, consultez Quotas et limites pour la messagerie thématique.

Limitation des messages réductibles

Comme décrit dans Messages réductibles, les messages réductibles sont des notifications sans contenu conçues pour se réduire les unes sur les autres. Si un développeur répète le même message trop souvent dans une application, nous retardons les messages pour réduire l'impact sur la batterie de l'utilisateur.

Par exemple, si vous envoyez un grand nombre de nouvelles demandes de synchronisation d'e-mails à un même appareil, nous pouvons retarder la prochaine demande de synchronisation d'e-mails de quelques minutes afin que l'appareil puisse se synchroniser à un taux moyen plus faible. Cette limitation est effectuée uniquement pour limiter l'impact sur la batterie pour l'utilisateur.

Si votre cas d'utilisation nécessite des schémas d'envoi par rafales élevés, les messages non réductibles peuvent être le bon choix. Pour ces messages, veillez à inclure le contenu afin de réduire l'impact sur la batterie.

Nous limitons les messages réductibles à une rafale de 20 messages par application et par appareil, avec un réapprovisionnement d'un message toutes les trois minutes.

Taux de messages maximal vers un seul appareil

Sur Android, vous pouvez envoyer jusqu'à 240 messages par minute et 5 000 messages par heure à un seul appareil. Ce seuil élevé est destiné à permettre des pics de trafic à court terme, par exemple lorsque les utilisateurs interagissent rapidement dans un chat. Cette limite empêche les erreurs dans la logique d'envoi de décharger la batterie d'un appareil par inadvertance.

Pour iOS, nous renvoyons une erreur lorsque le taux dépasse les limites APNs.