Android GCM主题订阅限制

3

随着android gcm中主题的引入,我正在评估这个选项,以便于我们服务器与某些订阅保持同步所需的工作。

然而,我在文档中读到使用主题的数量限制为100万个订阅。这是意味着你不能有超过一百万的用户(每个用户有一个或多个主题),还是只能有100万个主题被订阅(例如,每个用户订阅了10个主题的100,000个用户)?

5个回答

7

这是您的应用程序中所有主题的订阅总数限制。

当应用程序的订阅数超过100万限制时,您将收到TOO_MANY_SUBSCRIBERS错误。


那么您只能订阅100万个主题(例如,每个用户订阅10个主题,共有10万个用户订阅)? - Amit Singh
1
您可以将这100万个订阅拆分为任意数量的主题。关键是,每个应用程序只能有100万个订阅,它们可以全部订阅一个主题或数百个不同的主题。 - Elad Nava
4
GCM已经取消了限制,请查看此链接:https://developers.google.com/cloud-messaging/topic-messaging - Ali

5


0

0

您可以尝试通过使用多个SENDER_IDs来注册设备,以绕过此限制。

由于100万订阅限制是应用程序范围内强制执行的,我相信谷歌跟踪的方式是通过SENDER_ID

然后,在服务器端,您需要向GCM发出多个publish请求(每次使用不同的Server API Key),以支持超过100万个设备。

我将测试这个理论,并让您知道我的发现。最坏的情况是它是通过应用程序包名(com.example.package)强制执行的,那么就没有优雅的解决方法了。

更新:该限制现已被取消!

我们很高兴地宣布,我们允许无限制的免费主题供您的应用使用。这意味着应用程序开发人员可以在每个主题中放置无限数量的设备并创建无限数量的主题。

http://googledevelopers.blogspot.co.il/2015/12/google-cloud-messaging-weve-come-long.html?utm_source=Android+Weekly&utm_campaign=1cb848077c-Android_Weekly_184&utm_medium=email&utm_term=0_4eb677ad19-1cb848077c-337844217


你测试过这个 Elad 了吗?结果如何?我认为,考虑到今天智能手机的使用情况,100万实际上是微不足道的。 - Simon
无法完成测试--每个“subscribe”请求到GCM服务器需要约2秒钟,因此执行测试需要大约23天(使用并行化约为3天),这需要向GCM服务器发出1,000,000个订阅请求。 - Elad Nava

0

GCM现在已经取消了限制,请查看此链接:https://developers.google.com/cloud-messaging/topic-messaging

同样,Firebase Cloud Messaging (FCM)也是如此。https://firebase.google.com/docs/cloud-messaging/android/topic-messaging

GCM主题消息允许您的应用服务器向选择特定主题的多个设备发送消息。基于发布/订阅模型,主题消息支持每个应用程序无限制的订阅。应用服务器将带有最大2KB负载的消息发送到主题,GCM处理消息路由并可靠地将消息传递到正确的设备。例如,天气预报应用的用户可以选择“严重天气警报”主题,并接收威胁指定区域的风暴通知。


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