Android GCM时间戳问题

9

我有一个与time_to_live相关的问题。 当设备处于开启状态时,我可以收到消息,但是当它离线时,我无法接收消息,或者至少在前15分钟内不会发送消息。 我使用延迟发送消息,并且将time_to_live设置为2419200。 有什么想法,也许是我误解了文档。

1个回答

18

根据文档:

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。

有关更多详细信息,请再次查看教程


现在你只能使用4个折叠键,所以要明智地使用它们。 - Ankit
7
显然,在设置time_to_live时,您不再需要设置collapse_key:https://plus.google.com/u/0/+FrancescoNerieri/posts/AEpCusdNZY9 - Rupert Rawnsley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接