可以向特定的 android 应用程序用户发送数字推送通知 (GCM) 是否有每日限制?
9 回答
在 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。如果达到限制,则丢弃所有存储的消息。然后,当设备重新联机时,它会收到一条特殊消息,指示已达到限制。然后,应用程序可以正确处理这种情况,通常是通过请求完全同步。
不过,我不确定这是否与您的问题有关。
一口气有一个limit
。1000
notifications
假设你有50000 regids
. 你不能50000
一起发送。在第一个之后1000
,您将不得不单独选择下一个1000
,依此类推。
似乎没有设定数字限制,但有节流措施。
为了防止滥用(例如向设备发送大量消息)并优化设备的整体网络效率和电池寿命,GCM 使用令牌桶方案实现消息的节流。
如果应用程序崩溃密钥耗尽了其可用令牌的供应,则新消息将缓冲在待处理队列中,直到在定期授予时新令牌变得可用。
通过:https ://developers.google.com/cloud-messaging/server#throttling
编辑/更新:
只是为了更新,现在可以在 GCM 高级主题中找到节流文档:http ://www.androiddocs.com/google/gcm/adv.html#throttling
数字推送通知 (GCM) 没有任何每日限制,但通过官方来源GCM 高级主题它指出
在不折叠的情况下可以存储多少消息是有限制的。该限制当前为 100。如果达到限制,则丢弃所有存储的消息。然后,当设备重新联机时,它会收到一条特殊消息,指示已达到限制。然后,应用程序可以正确处理这种情况,通常是通过请求完全同步。
希望它会有所帮助。
尝试从 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 个以上的注册令牌)。
根据官方文件,没有限制。
每个 SEND_ID 最多可以发送 1,000 台设备!
这里是原始来源。
registration_ids
此参数指定接收多播消息的设备列表(注册令牌或 ID)。它必须包含至少 1 个且最多 1000 个注册令牌。
由于 GCM 现在迁移到 firebase,消息服务完全免费。