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

时间:2019-03-30 18:40:21

标签: android push-notification firebase-cloud-messaging

我们的应用程序拥有超过100万的订阅者,FCM面临着巨大的交付问题。最近情况变得越来越糟,该服务几乎不再起作用。我们收到如下错误:

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

我们经常收到此错误。在欧盟/美国晚上,情况似乎更糟。在某些情况下,超过90%的通知失败。 我们正在与Firebase支持团队联系,但到目前为止似乎还没有解决方案。但这给了我们很多有用的事实的信息:

  • 资源在开发人员之间共享。因此,由于其他开发人员占用了资源,因此最大消息速率可能会有所不同。
  • OR查询应转换为多个AND查询,因为OR查询实际上会向所有用户群生成消息,然后应用过滤条件
  • 在一台设备上,
  • 每小时240条消息,每小时5,000条消息。
  • 每个项目将上游消息限制为每分钟15,000(我们不明白)
  • 将每台设备的上行消息限制为1,000 /分钟

他们还在https://firebase.google.com/docs/cloud-messaging/concept-options#topics_throttling

更新了他们的文档

因此,我们知道消息速率限制和扇出机制。在我们的案例中,每小时大约有6000个不同的主题发送请求,每个主题平均有1万个订阅者。 单个用户每小时收到的通知永远不会超过50-100条。 我们认为我们没有达到FCM设定的极限。

在GCM时代,一切运转良好。因此,我们对目前的情况感到非常不满。该应用程序的核心功能现在真的很糟糕。而且似乎没有解决方案。

我们正在考虑切换到SSE解决方案。 有一个故事,说某人成功离开了FCM https://f-droid.org/en/2018/09/03/replacing-gcm-in-tutanota.html 但是由于Google最近很难让后台进程运行,所以我想知道其他具有类似经验的人做了什么。 还是我们可以解决这种情况?

1 个答案:

答案 0 :(得分:0)

Cloud Alert是此类替代方案之一-它可以替代FCM,提供高吞吐量和无限消息。它使用后台作业,并维护自己与专用服务器的连接。尽管有免费计划,但您的100万连接需求将使您进入付费范围。

披露:我为Cloud Alert工作。