Search code examples
react-nativenotificationschatpubnub

pubnub get history from multiple channels


I am using pubnub for chat , and using userid as channel to send messages , however when i want to retrieve conversation between two users , i need to get data from both channels, how can i do that?

I have data on both channels e.g. "userAid" and "userBid" but if i query

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

Solution

  • The History SDK call is generally meant to fetch history from a single channel. If you need to fetch history from multiple channels, you need to use Batch History methods.

    Refer to https://www.pubnub.com/docs/react-native-javascript/api-reference-storage-and-playback#batch-history for more details.

    An example call might be as follows, but the link above provides a list of all the parameters that can be set. Please note that the fetchMessages method can be used to fetch history from a single channel as well.

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