在我的应用程序中,我使用PubNub通道来阅读邮件。
我的历史有两种状态:
.PNReconnectedCategory
.PNConnectedCategory
我这样得到历史:
if let lastOpenedDate = NSUserDefaults.standardUserDefaults().objectForKey(PubNubModel.lastHistoryFetchKey) as? NSDate {
let endDate = NSNumber(double:lastOpenedDate.timeIntervalSince1970)
if UserHistoryChannel != nil {
self.client?.historyForChannel(UserHistoryChannel!, start: nil, end: endDate, withCompletion: getHistoryCompletionBlock)
}
}
lastOpenedDate 是最后收到的消息日期,
在获取历史记录时,我总是检查它,并从此日期和之后获取历史记录。
登出时我将此日期设置为nil,因此当用户登录App和Pubnub连接时,获取历史记录时此日期将是当前日期,并且没有历史记录。
但是,pubnub仍然历史悠久!
有人试图清除pubnub频道的历史记录吗?
有任何帮助吗?
感谢,
答案 0 :(得分:0)
历史记录API允许指定您希望从中获取消息的时间范围。如果您要存储并且永不重置为nil
(因为它将被视为最后收到的消息)时间令牌(message.data.timetoken
)并将其用作endDate
历史记录API(由@建议) CraigConover) - 使用此设置历史记录将包含自上述日期(endDate
)以来的最后消息(包括从中获取日期的消息。使用此方法不允许提取自上次以来您的应用程序和用户知道的数据应用程序运行。记录的新用户不会从上一个会话中获得消息(期望一个)。