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