可以将每日数量推送通知(GCM)发送到特定的android应用程序用户吗?
Answers:
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。如果达到限制,则将丢弃所有已存储的消息。然后,当设备重新联机时,它将收到一条特殊消息,指示已达到限制。然后,应用程序通常可以通过请求完全同步来正确处理这种情况。
我不确定这是否与您的问题有关。
There is a limit on how many messages can be stored without collapsing. That limit is currently 100. If the limit is reached, all stored messages are discarded....
,这仅适用于特定用户,对吗?即。用户可能长时间关闭了设备,从而导致GCM消息堆积,如果没有端点,则崩溃?还是在所有用户中都是100?
似乎没有设定的数值限制,但是有节流措施。
为防止滥用(例如向设备发送大量消息)并优化设备的整体网络效率和电池寿命,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“发送”方法发送超过1000次推送,尝试失败。
https://developers.google.com/cloud-messaging/http-server-ref 对于下游HTTP消息(JSON):
参数名称-registration_ids类型-字符串数组
此参数指定接收多播消息的设备列表(注册令牌或ID)。它必须包含至少1个,最多1000个注册令牌。
仅对多播消息传递使用此参数,而不对单个收件人使用此参数。仅允许使用HTTP JSON格式发送多播消息(发送给多个注册令牌)。
每个SEND_ID最多可以发送1,000个设备!
这是原始来源。
registration_ids
此参数指定接收多播消息的设备列表(注册令牌或ID)。它必须包含至少1个,最多1000个注册令牌。
由于GCM现在已移至Firebase,因此消息传递服务完全免费。