Firebase FCM 是不是有订阅者限制? TOO_MANY_SUBSCRIBERS 错误

Posted

技术标签:

【中文标题】Firebase FCM 是不是有订阅者限制? TOO_MANY_SUBSCRIBERS 错误【英文标题】:Has Firebase FCM a subscribers limit? TOO_MANY_SUBSCRIBERS errorFirebase FCM 是否有订阅者限制? TOO_MANY_SUBSCRIBERS 错误 【发布时间】:2020-11-09 08:36:00 【问题描述】:

最近我在注册某些主题时开始在生产中遇到这种类型的错误:

Invalid registration response :'Error=TOO_MANY_SUBSCRIBERS'. It is missing 'token' field.

我在 ios 平台上使用以下方法将设备注册到主题:

Messaging.messaging().subscribe(toTopic: String, completion: ((Error?) -> Void))

环境:

  - FirebaseMessaging (7.0.0):
    - FirebaseCore (~> 7.0)
    - FirebaseInstanceID (~> 7.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.0)
    - GoogleUtilities/Environment (~> 7.0)
    - GoogleUtilities/Reachability (~> 7.0)
    - GoogleUtilities/UserDefaults (~> 7.0)

错误提示firebase对该主题的订阅数量有限制,是吗?

【问题讨论】:

【参考方案1】:

根据Firebase docs,FCM 没有主题订阅总数限制,但每个应用实例有 2000 个订阅限制。

主题消息支持每个主题的无限订阅。 但是,FCM 在以下方面实施了限制:

一个应用实例最多可以订阅 2000 个主题。 如果您使用批量导入订阅应用实例,则每个请求限制为 1000 个应用实例。 新订阅的频率受每个项目的速率限制。如果您在短时间内发送过多的订阅请求, FCM 服务器将响应 429 RESOURCE_EXHAUSTED ("quota 超出”) 响应。使用指数退避重试。

【讨论】:

谢谢法比奥,但这个答案对我帮助不大,我不认为这是 2000 订阅限制

以上是关于Firebase FCM 是不是有订阅者限制? TOO_MANY_SUBSCRIBERS 错误的主要内容,如果未能解决你的问题,请参考以下文章

Firebase FCM 变得非常不稳定。寻找解决方案/替代方案

Android/Firebase - 检查您是不是订阅了主题

Flutter:如何在 Flutter 中为 Firebase (FCM) 注册令牌订阅ToTopic

向订阅主题的所有用户推送通知,使用 FCM Firebase 的登录用户除外

批量 Firebase 云消息传递的限制

设备可以在 FCM 中订阅的最大主题数