pubnub 从多个渠道获取历史记录

pubnub get history from multiple channels

我正在使用 pubnub 进行聊天,并使用 userid 作为发送消息的通道,但是当我想检索两个用户之间的对话时,我需要从两个通道获取数据,我该怎么做?

我在两个频道上都有数据,例如"userAid" 和 "userBid" 但如果我查询

this.pubnub.history(
            { channel: ['userAid,'userBid'], reverse: true, count: 15 },
            (status, res) => {
            });```
it does not return any result  , if i query with only one channel it works

历史记录似乎只能从一个频道获取消息。

试试这个:

pubnub.fetchMessages({
  channels: ['ch1', 'ch2', 'ch3'],
  start: '15343325214676133',
  end: '15343325004275466',
  count: 15,
}, (status, response) => {
  // handle status, response
});

关于获取历史记录的 Pubnub 文档: https://www.pubnub.com/developers/chat-resource-center/docs/reference/message-history

History SDK 调用通常用于从单个渠道获取历史记录。如果您需要从多个渠道获取历史记录,则需要使用 Batch History 方法。

详情请参阅https://www.pubnub.com/docs/react-native-javascript/api-reference-storage-and-playback#batch-history

一个示例调用可能如下所示,但上面的 link 提供了所有可以设置的参数的列表。请注意,fetchMessages 方法也可用于从单个频道获取历史记录。

pubnub.fetchMessages(
    { 
        channels: ['ch1', 'ch2', 'ch3'], 
        start: "15343325214676133",
        end: "15343325004275466",
        count: 25 
    }, 
    (status, response) => {
        // handle response
    }
);