GCM(现在是FCM)是否免费且无限制?

66

我想了解Firebase Cloud Messaging是否对无限用户免费?


5
是的,就像文档所说的那样,它是免费的。 - Tim
2
我投票关闭此问题,因为客户支持不属于讨论范围。 - Zoe stands with Ukraine
4个回答

46

除了来自ALanswer之外,还有来自Pricing page Faqs的信息:

哪些产品是付费的?哪些是免费的?

Firebase的付费基础设施产品包括实时数据库、Firebase存储、托管和测试实验室。我们为所有这些产品提供免费层级,除了测试实验室。

Firebase还有许多免费产品:分析、应用索引、身份验证、动态链接、云消息传递、通知、邀请、崩溃报告和远程配置。您可以在所有计划中使用无限数量的这些产品,包括我们的免费Spark计划。

所以,它是免费的。文档中没有提到任何限制,但Firebase实时数据库有一个限制,如常见问题解答中所述:

Firebase对同时连接您应用程序数据库的数量有硬性限制。这些限制旨在保护Firebase和我们的用户免受滥用。
免费计划的限制为100,不能提高。Flame和Blaze计划最初的数据库连接限制为10,000个。这是为了防止滥用,并且可以通过提前24小时通知Firebase支持来提高。
此限制与您的应用程序用户总数不同,因为您的用户不会同时连接。我们鼓励您监视峰值同时数据库连接并根据需要升级。
我们正在努力消除Flame和Blaze计划上初始的10,000个同时连接限制。
因此,如果您正在使用Firebase Database保存用户数据,并希望使用存储在Firebase Database中的FCM注册令牌向用户设备发送大量推送通知,则可能会在免费Spark计划中达到限制,但很难达到10k限制。

@user2924714,每秒通知没有限制,因为我已经使用它每秒发送了数千个通知。然而,FCM并不可靠,不应用于聊天通知或任何需要立即到达的通知。通知可能会延迟或永远无法到达设备。 - 0xC0DED00D
1
谢谢。您能提供FCM不可靠的任何参考资料吗? 我看到唯一的情况是,如果用户离线并且他的离线消息队列已满,则用户将无法收到消息。 https://firebase.google.com/docs/cloud-messaging/concept-options:“有一个存储未折叠消息的限制为100个。如果达到了限制,所有存储的消息都将被丢弃。设备重新联机后,它会收到一条特殊消息,指示已达到限制。然后应用程序可以适当地处理该情况,通常是通过从应用程序服务器请求完整同步来处理。” - user2924714
那么,我的结论是正确的:Firebase Cloud Messaging有同时连接的限制,但您可以发送无限数量的消息,对吗? - Ahmad Chishti
我没有使用实时数据库。同时,我也没有维护设备令牌,并且能够通过选择 iOS 应用程序包从 Firebase 控制台向所有用户发送推送通知。那么在免费计划中,我们在这种情况下是否会遇到任何限制呢?@noob - Shebin Koshy
2
@ShebinKoshy 没有限制FCM的使用量。尽管Firebase团队在GCP播客中提到了一些防止滥用的限制(未明确是什么和如何),但通常情况下不应该有任何问题。 - 0xC0DED00D
显示剩余2条评论

13

来自Firebase Cloud Messaging文档

Firebase Cloud Messaging (FCM)是一种跨平台的消息传递解决方案,可让您可靠地免费发送消息。


10
您可以参考官方的Firebase定价页面。在这里,您将能够看到可用的项目类型:SPARK、FLAME、BLAZE,它们都包含了FCM(连同Analytics、App Indexing、Authentication、Dynamic Links、Invites、Notifications、Crash Reporting和Remote Config)并且是免费的。

这里输入图片描述


1
谢谢。它说是免费的,但我的项目每天能发送超过10000条通知吗?(适用于Android和iOS平台)? - kemdo
2
@kemdo 您可以发送无限数量的通知,没有限制。 - AL.

3
Firebase云消息传递(FCM)连接服务器(CCS)位于设备和应用程序服务器之间。以下是相关限制:
1. 根据文档中的说明,FCM似乎对同时连接数施加了1000个的限制。

对于每个发送者ID,FCM允许最多1000个并行连接。

其中,发送者ID是当您创建Firebase项目时创建的唯一数字值,可在Firebase控制台设置面板的Cloud Messaging选项卡中找到。发送者ID用于标识可以向客户端应用程序发送消息的每个应用程序服务器。
请注意:如果此限制不是关于从应用程序服务器到CCS的最大连接,则请纠正我。
2. 其次,如果使用XMPP连接服务器协议(必须使用设备到云消息传递时),您还应该阅读有关流量控制的内容。在任何单个时间点,不应有超过100条未经确认的消息发送到CCS。

如果待处理消息计数达到100,则应用程序服务器应停止发送新消息并等待CCS确认某些现有待处理的消息。


3
根据这里的文档,似乎 FCM 对同时连接的数量有一个 1000 的限制。这个信息是否过时? - tom10271

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接