Android GCM time_to_live问题

时间:2012-09-10 15:20:51

标签: android google-cloud-messaging push-notification

我遇到与time_to_live相关的问题。我在设备打开时收到消息,但是当它处于脱机状态时我没有收到消息,或者至少在前15分钟没有收到消息。我正在空闲时发送消息,并且time_to_live 2419200。任何想法发生了什么,也许我误读了文档。

1 个答案:

答案 0 :(得分:17)

来自文档:

  

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

     

time_to_live :GCM上应保留多长时间(以秒为单位)   存储如果设备处于脱机状态可选(默认生存时间为4   周,并且必须设置为JSON号码)。如果使用此参数,   你还必须指定一个collapse_key。

您不需要将time_to_live值设置为2419200.这是默认值。但是,如果您设置它,您还应该设置collapse_key。

  

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

有关详细信息,请再次检查tutorial