gpt4 book ai didi

android - PunNub - 设备关闭时恢复丢失消息的最佳方法?

转载 作者:行者123 更新时间:2023-11-29 12:05:15 24 4
gpt4 key购买 nike

我们有多个移动客户端(ios 和 android)订阅了一个 channel 消息。

服务器正在向 channel-msg 发布 7 条消息:
enter image description here

  1. 消息 1-3 已发布到 channel 。
  2. 设备通过本地 PubNub 获得消息 1-3。
  3. 用户关闭了设备。
  4. 消息 4-5 已发布到 channel 。
  5. 用户打开了设备,应用在前台。
  6. 消息 6 已发布。
  7. 消息 6 到达设备。

此时(在设备代码中的“收到 PubNub 消息”回调中),我不想执行消息 6,因为我必须先执行消息 4-5。。 p>

我可以使用 history() API 来获取丢失的消息,但是通过这种策略,我必须先对我在设备上收到的每条消息执行“历史检查”,然后才能执行它。

我有更好的模式/设计来处理这种情况吗?

最佳答案

PubNub 历史

您不需要为每条消息调用历史记录,而是检索所有错过的消息(每个 history 调用最多 100 条)。

只需保存上次收到的消息的时间标记,您可以在应用重新启动时检索它 (NSUserDefaults)。当您的应用程序启动时,只需在您的 history 调用中使用时间标记作为 end 参数(start 参数为 nil)。

如果您返回了 100 条消息(最大值),那么您可能有更多消息并且您需要 call history again (paging through storage) and again until you receive > 100 messages .

收到最后一条消息后,use the timetoken of that last message (the one closest to now), use that timetoken to subscribe获取上次 history 调用和您的 subscribe 之间的任何消息,并继续订阅更多消息。

关于android - PunNub - 设备关闭时恢复丢失消息的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35294511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com