Android GCM time_to_live 问题

Posted

技术标签:

【中文标题】Android GCM time_to_live 问题【英文标题】:Android GCM time_to_live issue 【发布时间】:2012-09-10 15:20:51 【问题描述】:

我有一个与time_to_live 相关的问题。我在设备开启时收到消息,但在设备离线时我没有收到消息,或者至少在前 15 分钟内没有发送消息。我在空闲时延迟发送消息 true 和 time_to_live 2419200。任何想法发生了什么,也许我误读了文档。

【问题讨论】:

【参考方案1】:

来自文档:

delay_while_idle :如果包含,则表示消息不应 如果设备空闲,则立即发送。服务器将等待 设备变为活动状态,然后只有每个消息的最后一条消息 collapse_key 值将被发送。选修的。默认值为假, 并且必须是 JSON 布尔值。

time_to_live :消息应在 GCM 上保留多长时间(以秒为单位) 如果设备离线,则存储。可选(默认生存时间为 4 周,并且必须设置为 JSON 数字)。如果使用此参数, 您还必须指定一个 collapse_key。

你不需要将time_to_live的值设置为2419200。它是默认值。但是,如果你设置了它,你还应该设置collapse_key。

collapse_key :一个任意字符串(例如“Updates Available”),用于在设备关闭时折叠一组类似消息 离线,因此只有最后一条消息被发送到客户端。这 旨在避免在手机发送过多消息时 重新上线。请注意,由于无法保证订单 在发送消息时,“最后一个”消息实际上可能不是 应用服务器发送的最后一条消息。请参阅高级主题 更多关于这个话题的讨论。可选,除非您使用 time_to_live 参数——在这种情况下,您还必须指定一个 折叠键。

更多详情请再次查看tutorial。

【讨论】:

现在您只能拥有 4 个折叠键,因此请明智地使用它们。 显然设置time_to_live时不再需要设置collapse_key:plus.google.com/u/0/+FrancescoNerieri/posts/AEpCusdNZY9

以上是关于Android GCM time_to_live 问题的主要内容,如果未能解决你的问题,请参考以下文章

GCM Android:不幸的是,GCM 演示已停止

Android:GCM 错误 - 字符串/gcm_defaultSendorid 错误:重复资源错误

将com.google.android.gcm.GCMBaseIntentService升级到com.google.android.gms.gcm.GoogleCloudMessaging

Android - GCM 在打开应用程序时收到来自 gcm 的通知

获取通知密钥错误 401 gcm https://android.googleapis.com/gcm/googlenotification

对于某些 android 设备,GCM 消息在 GCM 服务器上停留在“已接受”状态