【问题标题】:PubNub: how to get last 5 messagesPubNub:如何获取最后 5 条消息
【发布时间】:2016-06-08 16:58:34
【问题描述】:

我的 Pubnub 频道中有 20 多条消息。然后我尝试使用

获取最后五条消息
let startTimeToken = dateToTimeToken(NSDate(timeIntervalSince1970: 0)) //unix time interval 0
let endTimeToken = dateToTimeToken(NSDate()) // now

self.pubnub?.historyForChannel(room, start: startTimeToken, end: endTimeToken,
        limit: 5, reverse: true, includeTimeToken: true, withCompletion: {
        (result, status) -> Void in
}

发现,无论反向参数是真还是假,我总是收到前五条消息而不是最后一条。

获取最后五条消息的唯一方法是

self.pubnub?.historyForChannel(room, start: endTimeToken, end: nil,
        limit: 5, reverse: false, includeTimeToken: true, withCompletion: { 
        (result, status) -> Void in
}

但这到底是什么? 开始 = 结束,结束 = 无,反向 = 假 你收到最后 5 条消息?

首先我不明白这个逻辑。为什么第一条语句完全忽略了反向参数?

【问题讨论】:

    标签: ios pubnub


    【解决方案1】:

    PubNub 历史课 ;)

    历史 API 一开始可能有点神秘,但是一旦您了解了它的工作原理,您就可以准确地得到您需要的东西。也就是说,我们 (PubNub) 正在开发一个更强大、更易于使用、功能更丰富的历史 API。

    回答您的问题

    1. 当您提供start 和end 参数时,reverse 参数将被忽略,而是使用默认值false,这意味着从最新的时间令牌(@987654326)开始获取消息@ 参数)并及时向后移动,直到检索到 5 条消息(您的 count 参数值)。
    2. 如果你只想要最后5条消息(最新的5条消息),只需将start和end设置为nil,将count设置为5,将reverse设置为false。如果您想要前 5 条消息(最旧的 5 条消息),则将 reverse 设置为 true。

    PubNub History 的一些基本规则

    如果你能学会history API 的以下规则,你将成为这方面的专家。

    1. 每次history 调用可以返回的最大消息数为100。您可以使用count 参数指定小于100,但不能指定更多。如果您需要超过 100 条消息,您可以翻阅历史记录(此处不介绍)。
    2. 仅使用start 参数总是返回比提供的时间令牌旧 的消息。如果您设置reverse = true,您将收到比提供的时间令牌更新的消息。并且start 是独占的(带有timetoken = start 的消息不返回)。
    3. 仅使用end 参数总是返回比提供的时间令牌更新的消息。如果您设置reverse = true,您将收到比提供的时间令牌旧的消息。并且 end 包含在内(返回带有 timetoken = end 的消息)。
    4. 当您提供start 和end 参数时,reverse 参数将被忽略并使用默认值false。这是因为它始终只提供该时间令牌范围内的结果。
    5. reverse 参数指示要从时间线的哪一端搜索:最旧的消息并转发(从左到右),reverse = true 或最新的消息并向后,reverse = false(默认值)。
    6. 如果您使用reverse = false 调用history 并且没有其他参数(start、end、count),您将获得最多 100 条最新消息(
    7. 如果您使用reverse = true 调用history 并且没有其他参数(start、end、count),您将获得最多 100 条最旧的消息(

    请参阅 Storage And Playback Getting Started Guide 以了解有关 PubNub history API 工作原理的更多信息(带有时间线图)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 2016-10-12
      • 2019-12-26
      相关资源
      最近更新 更多