在pubnub羣聊很容易,但我找不到正確的方式進行1對1聊天,我跟着http://pubnub.github.io/pubnub-design-patterns/2015/03/05/Inbound-Channel-Pattern.html。 因此,對於每個用戶訂閱唯一頻道的結論,不是嗎?Pubnub訂閱1對1聊天
PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@「mypublishkey」 subscribeKey:@「mysubskey」];
[email protected]「myuuid」;//unique id help to find presence
configuration.presenceHeartbeatValue = 120;
//unsubscribe from channel until no response in 120 sec
configuration.presenceHeartbeatInterval = 30;//send to server each 30 second
self.client = [PubNub clientWithConfiguration:configuration];
[self.client addListener:self];
_delegateconfig=delegate;
// Subscribe to demo channel with presence observation
[self.client subscribeToChannels: @[channelname] withPresence:YES];
/- 用於列出所有用戶或信道---/
我稱爲hereNowWithCompletion 這表明是確定所有信道列表
例如https://www.pubnub.com/docs/cocoa-objective-c/presence
/--------取消訂閱頻道--------/
[self.client unsubscribeFromChannels:@ [channelname] withPresence:YES]; 不起作用,因爲當我打電話給這裏時,NowWithCompletion顯示的是之前的所有列表,但在120秒後沒什麼問題,但我想要立即重新生成。
是,私人聊天僅僅是一個只有兩個用戶訂閱的頻道和發佈消息,該通道的通道。這裏現在只是查找誰正在主動訂閱頻道的一種手段。查看[聊天基礎知識](https://www.pubnub.com/docs/web-javascript/chat-fundamentals)瞭解有關聊天最佳做法的更多詳情。 –
@ craig-conover,謝謝你的回覆,我仍然對此有疑惑,假設2個用戶想按照你的建議聊天,比如「channel_a-b」,但是如果A發送消息給用戶B,那麼用戶B (void)客戶端:(PubNub *)客戶端didReceiveMessage:(PNMessageResult *)將不能從該頻道接收消息,除非用戶B訂閱相同頻道,否則此委託方法將不會呼叫用戶b直到他訂閱相同頻道 - )消息 – saurabh
你是對的。因此,您需要邀請B加入該頻道,並等待B接受邀請(訂閱頻道)。但是,這甚至不是必要的,因爲當B第一次訂閱頻道時,B可以調用歷史記錄(存儲必須啓用)。 –