当 phone 离线时,GCM 存储消息列表或仅存储最后一条消息,就像 APNS 一样?

When phone is offline GCM stores a LIST of messages or only the last one, just like APNS?

当 phone 离线时,GCM 存储消息列表或仅存储最后一条消息,就像 APNS 一样?

我已经阅读了很多相关内容,但正如文档所述:
1.如果设备离线,GCM连接服务器将消息入队并存储。
2.当设备在线时,GCM连接服务器向设备发送消息。

这部分 'sends the message to the device' 让我很困惑。它是否传送 条消息?

如果您将每封邮件的 collapse_key 设置为不同的值,那么它们将全部(达到最大数量)全部送达。如果 collapse_key 都具有相同的值,则只传递最新的。

这取决于您在从服务器发送消息时可以设置的一些选项。 这里有两件事要记住:collapse_keytime_to_live 设置。

折叠键用于 send-to-sync messages,而不是带有负载的消息。正如@NickT 所提到的,如果您只想在设备重新联机时将同一折叠键下的最新消息发送到客户端设备,则可以使用折叠键。另一方面,带有有效载荷的消息总是被传递。

time_to_live 设置对于离线客户端设备很重要。它允许您指定消息在等待设备上线时在 GCM 服务器中保留多长时间。它的默认值为 4 周。如果您将其设置为较低的值并且设备在该范围内未上线,则 GCM 可能会丢弃该特定消息。

有关这些的更多详细信息,请参阅 this 页。