74

可以向特定的 android 应用程序用户发送数字推送通知 (GCM) 是否有每日限制?

4

9 回答 9

83

更新:不推荐使用 GCM,请使用FCM

在 Google 用 GCM 取代 C2DM 之后,他们取消了所有限制。

来源:http: //developer.android.com/google/gcm/c2dm.html#history

在 GCM 之前(当时仍称为 C2DM):https ://developers.google.com/android/c2dm/#limitations

您遇到 GCM 文档的唯一限制是:http: //developer.android.com/google/gcm/adv.html#lifetime

从上面的链接引用:

注意:在不折叠的情况下可以存储多少消息是有限制的。该限制当前为 100。如果达到限制,则丢弃所有存储的消息。然后,当设备重新联机时,它会收到一条特殊消息,指示已达到限制。然后,应用程序可以正确处理这种情况,通常是通过请求完全同步。

不过,我不确定这是否与您的问题有关。

于 2013-02-22T05:37:02.770 回答
18

一口气有一个limit1000 notifications

假设你有50000 regids. 你不能50000一起发送。在第一个之后1000,您将不得不单独选择下一个1000,依此类推。

于 2015-06-01T17:45:41.700 回答
9

似乎没有设定数字限制,但有节流措施。

为了防止滥用(例如向设备发送大量消息)并优化设备的整体网络效率和电池寿命,GCM 使用令牌桶方案实现消息的节流。

如果应用程序崩溃密钥耗尽了其可用令牌的供应,则新消息将缓冲在待处理队列中,直到在定期授予时新令牌变得可用。

通过:https ://developers.google.com/cloud-messaging/server#throttling

编辑/更新:

只是为了更新,现在可以在 GCM 高级主题中找到节流文档:http ://www.androiddocs.com/google/gcm/adv.html#throttling

于 2013-02-22T05:37:40.453 回答
8

数字推送通知 (GCM) 没有任何每日限制,但通过官方来源GCM 高级主题它指出

在不折叠的情况下可以存储多少消息是有限制的。该限制当前为 100。如果达到限制,则丢弃所有存储的消息。然后,当设备重新联机时,它会收到一条特殊消息,指示已达到限制。然后,应用程序可以正确处理这种情况,通常是通过请求完全同步。

希望它会有所帮助。

于 2013-02-22T05:36:03.983 回答
4

尝试从 java 代码 com.google.android.gcm.server.Sender “send” 方法发送超过 1000 次推送,尝试失败。

https://developers.google.com/cloud-messaging/http-server-ref 对于下游 HTTP 消息 (JSON):

参数名称 - registration_ids 类型 - 字符串数组

此参数指定接收多播消息的设备(注册令牌或 ID)列表。它必须包含至少 1 个且最多 1000 个注册令牌。

此参数仅用于多播消息传递,而不用于单个接收者。仅允许使用 HTTP JSON 格式的多播消息(发送到 1 个以上的注册令牌)。

于 2016-02-04T13:38:51.343 回答
1

根据官方文件,没有限制。

于 2013-02-22T05:35:57.250 回答
1

每个 SEND_ID 最多可以发送 1,000 台设备!

这里是原始来源。

于 2013-02-22T05:36:13.430 回答
1

registration_ids
此参数指定接收多播消息的设备列表(注册令牌或 ID)。它必须包含至少 1 个且最多 1000 个注册令牌。

于 2016-10-03T07:04:39.537 回答
1

由于 GCM 现在迁移到 firebase,消息服务完全免费。

https://firebase.google.com/pricing/

于 2017-01-30T05:29:19.740 回答