首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PunNub -当设备关闭时恢复丢失消息的最佳方法?

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

Stack Overflow用户
提问于 2016-02-09 14:26:03
回答 1查看 153关注 0票数 1

我们有多个移动客户端(ios和android)订阅了一个频道-msg。

服务器正在将7条消息发布到channel-msg:

  1. 消息1-3被发布到通道。
  2. 该设备通过本机PubNub接收消息1-3。
  3. 用户关闭了设备。
  4. 消息4-5被发布到频道。
  5. 用户打开设备,应用程序在前台。
  6. 消息6已发布。
  7. 消息6到达设备。

此时(在设备代码中的"got消息“回调中),我不想执行消息6,因为必须首先执行消息4-5

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

我有一个更好的模式/设计来处理这个场景吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-20 01:24:26

PubNub历史

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

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

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

一旦您收到了最后一条消息,subscribe将在上一次history调用和您的subscribe之间获取任何消息,并继续订阅进一步的消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35294511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档