Ограничения и квоты FCM

Наша цель – всегда доставлять все сообщения, отправленные с помощью FCM. Однако отправка всех сообщений может привести к тому, что пользователи будут недовольны. В других случаях нам необходимо установить ограничения, чтобы FCM мог предоставлять масштабируемый сервис для всех отправителей. Ограничения и квоты, описанные в этом разделе, помогают нам соблюдать баланс между этими важными факторами.

Ограничение количества исходящих сообщений

В HTTP v1 API введены квоты на количество запросов в минуту, которые вы можете отправить всем конечным точкам. Они выделяются на один проект. Квота по умолчанию в 600 000 писем в минуту покрывает потребности более 99% разработчиков, обеспечивая стабильность системы и минимизируя влияние проектов с резкими скачками трафика.FCM

Резкие скачки трафика могут привести к ошибкам, связанным с превышением квоты. Если квота превышена, система возвращает код статуса HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED"), пока квота не будет восстановлена в следующую минуту. Ответы с кодом 429 также могут возвращаться в случае перегрузки, поэтому настоятельно рекомендуем обрабатывать их в соответствии с опубликованными рекомендациями.

Примечания

  • Квота на исходящий трафик учитывает письма, а не запросы.
  • Ошибки клиента (коды статуса HTTP 400–499, кроме 429) учитываются.
  • Квоты действуют в пределах одной минуты, но эти минуты не привязаны к часам.

Квота на мониторинг

Посмотреть квоту, использование и ошибки можно в консоли Google Cloud:

  1. Откройте консоль Google Cloud.

  2. Выберите API и сервисы.

  3. В списке таблиц выберите Firebase Cloud Messaging API.

  4. Выберите Квоты и системные ограничения.

Как запросить увеличение квоты

Прежде чем запрашивать увеличение квоты, убедитесь, что:

  • Вы регулярно используете не менее 80% квоты в течение как минимум пяти минут подряд в день.
  • Коэффициент ошибок клиента составляет менее 5 %, особенно в периоды пикового трафика.
  • Вы следуете рекомендациям по массовой рассылке сообщений.

Если вы соответствуете этим критериям, то можете отправить запрос на увеличение квоты до 25% в консоли Google Cloud, используя следующие данные:

  1. Перейдите в раздел QUOTA & SYSTEM LIMITS (Квоты и системные ограничения).
  2. В таблице выберите строку Отправка запросов в минуту.
  3. Нажмите кнопку Edit (Изменить).
  4. Следуйте инструкциям.

FCM приложит все усилия, чтобы выполнить запрос (увеличение не гарантируется).

Если вам нужно увеличить квоту на отправку сообщений в связи с предстоящим запуском или временным событием, отправьте запрос в службу поддержки Firebase. Запрашивайте квоту не менее чем за 15 дней, чтобы у нас было достаточно времени на обработку запроса. Если запросов много (более 18 млн сообщений в минуту), уведомление должно быть отправлено не менее чем за 30 дней. Мы можем одобрить только два временных увеличения квоты в год. Общая продолжительность временной квоты в течение года не должна превышать 30 дней. Запросы на запуск и специальные мероприятия по-прежнему должны соответствовать требованиям к доле ошибок на стороне клиента и рекомендациям.

Подробнее о квотах FCM…

Ограничения на количество сообщений в теме и регулирование рассылки

Подробную информацию можно найти в разделе Квоты и ограничения для сообщений по темам.

Ограничение количества сворачиваемых сообщений

Как описано в разделе Сворачиваемые сообщения, они представляют собой уведомления без контента, которые сворачиваются друг над другом. Если разработчик слишком часто отправляет одно и то же сообщение в приложение, мы задерживаем его, чтобы снизить нагрузку на аккумулятор устройства.

Например, если вы отправите большое количество запросов на синхронизацию электронной почты на одно устройство, мы можем отложить следующий запрос на несколько минут, чтобы устройство могло выполнить синхронизацию с меньшей средней скоростью. Это делается исключительно для того, чтобы ограничить расход заряда батареи.

Если вам нужно отправлять большое количество сообщений за короткий промежуток времени, то нескладывающиеся сообщения могут быть подходящим вариантом. Чтобы снизить расход заряда батареи, включайте контент в такие сообщения.

Для сворачиваемых сообщений действует ограничение: не более 20 сообщений на приложение на одном устройстве. Лимит восполняется со скоростью одно сообщение каждые три минуты.

Максимальная частота отправки сообщений на одно устройство

На устройства Android можно отправлять до 240 сообщений в минуту и до 5000 сообщений в час. Высокий порог позволяет учитывать кратковременные всплески трафика, например когда пользователи быстро обмениваются сообщениями в чате. Это ограничение предотвращает ошибки в логике отправки, которые могут привести к непреднамеренной разрядке батареи устройства.

В iOS мы возвращаем ошибку, если частота превышает ограничения APNs.