Firebase FCM стала очень нестабильной.В поисках решения / альтернатив - PullRequest
0 голосов
/ 30 марта 2019

Наше приложение с более чем миллионом подписчиков сталкивается с огромными проблемами доставки с FCM. В последнее время стало хуже, и сервис уже почти не работает. Мы получаем ошибки, такие как:

 { code: 'messaging/message-rate-exceeded',
 message: 'Topic quota exceeded.' },
codePrefix: 'messaging' }

Мы часто получаем эту ошибку. И, кажется, хуже по вечерам в ЕС / США. В некоторых случаях более 90% уведомлений не работают. Мы находимся в контакте со службой поддержки Firebase, но пока, похоже, решения не найдено. Они дали нам много информации с некоторыми полезными фактами:

  • ресурсы распределяются между разработчиками. Таким образом, максимальная скорость сообщений может отличаться из-за того, что другие разработчики занимают ресурсы.
  • ИЛИ-запросы должны быть преобразованы в несколько И-запросов, потому что ИЛИ-запросы фактически генерируют сообщения для всей пользовательской базы, а затем применяется условие фильтрации
  • 240 сообщений / минута и 5000 сообщений / час на одно устройство.
  • ограничение количества исходящих сообщений 15 000 / мин на проект (мы этого не понимаем)
  • ограничение количества входящих сообщений на устройство на уровне 1000 в минуту

Они также обновили свои документы на https://firebase.google.com/docs/cloud-messaging/concept-options#topics_throttling

Итак, мы знаем об ограничениях скорости сообщений и механизма разветвления. В нашем случае у нас примерно 6000 различных запросов на отправку тем в час и в среднем 10 000 подписчиков на тему. Один пользователь никогда не получит более 50-100 уведомлений в час. Мы считаем, что не нарушаем ограничения, установленные FCM.

Еще во времена GCM все работало нормально. Поэтому мы весьма недовольны нынешней ситуацией. Основные функциональные возможности приложения сейчас очень плохие. И решение, похоже, не там.

Мы рассматриваем возможность перехода на решение SSE. Есть история о ком-то, кто успешно отошел от FCM https://f -droid.org / ен / 2018/09/03 / замена-GCM-в-tutanota.html Но так как Google в последнее время очень усложнил запуск фоновых процессов, мне интересно, что сделали другие люди с подобным опытом. Или мы все еще можем исправить эту ситуацию?

1 Ответ

0 голосов
/ 16 июля 2019

Одной из таких альтернатив является Cloud Alert - он может заменить FCM, обеспечивает высокую пропускную способность и неограниченное количество сообщений.Он использует фоновое задание и поддерживает собственное соединение со своими выделенными серверами.При наличии бесплатного плана ваше требование о подключении к сети в 1 миллион человек поставит вас в оплаченную скобку.

Раскрытие информации: я работаю в Cloud Alert.

...