2017-04-03 9 views
0

pubnub 그룹 내 채팅은 쉽지만 1 대 1 채팅에 적합한 방법을 찾을 수 없으므로 http://pubnub.github.io/pubnub-design-patterns/2015/03/05/Inbound-Channel-Pattern.html을 (를) 수행했습니다. 그래서 각 사용자가 고유 채널을 구독한다는 결론은 아닌가요? 모든 사용자 또는 채널을 나열 --forPubnub 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 : @ [채널 이름] withPresence : 예]; 이 작동하지 않기 때문에 hereNowWithCompletion이 이전의 모든 목록을 표시하지만 120 초가 지나면 확인되었지만 즉시 재귀를 원하기 때문입니다.

+0

예, 개인 채팅 채널에 채널 및 게시 메시지를 구독 두 사용자와 단지 채널입니다. 여기 채널은 누가 채널에 적극적으로 가입했는지 파악하는 수단입니다. 채팅 우수 사례에 대한 자세한 내용은 [Chat Fundamentals] (https://www.pubnub.com/docs/web-javascript/chat-fundamentals)를 검토하십시오. –

+0

@ craig-conover, 답장을 보내 주셔서 감사합니다. 여전히 2 명의 사용자가 "channel_a-b"와 같이 귀하의 제안에 따라 서로 채팅하고 싶다고 가정 할 때 혼란이 있습니다. 그러나 A가 사용자 B에게 메시지를 보내면 사용자 B 사용자 B가 동일한 채널을 구독하지 않는 한 해당 채널에서 메시지를받을 수 없으며 동일한 채널을 구독 할 때까지이 대리자 메서드는 사용자 B를 호출하지 않습니다. (void) 클라이언트 : (PubNub *) 클라이언트 didReceiveMessage : (PNMessageResult *) message – saurabh

+0

정확합니다. 따라서 A에게 B를 채널에 초대하고 B가 초대를 수락 할 때까지 기다려야합니다 (채널 구독). 하지만 B가 채널에 처음 구독 할 때 B가 기록을 호출 할 수 있기 때문에 (저장소가 활성화되어 있어야 함) 필요하지 않습니다. –

답변