9

我有一个与time_to_live. 我在设备打开时收到消息,但在设备离线时我没有收到消息,或者至少在前 15 分钟内没有发送消息。我在空闲为真和time_to_live2419200 时延迟发送消息。任何想法发生了什么,也许我误读了文档。

4

1 回答 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:一个任意字符串(例如“Updates Available”),用于在设备离线时折叠一组类似消息,以便仅将最后一条消息发送到客户端。这是为了避免在手机重新联机时向手机发送太多消息。请注意,由于无法保证消息发送的顺序,因此“最后一个”消息实际上可能不是应用程序服务器发送的最后一条消息。有关此主题的更多讨论,请参阅高级主题。可选的,除非您使用 time_to_live 参数——在这种情况下,您还必须指定一个 collapse_key。

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

于 2012-09-11T07:02:43.397 回答