2014-07-22 2 views
1

내가 처음으로 자바 스크립트 pubnub API를 사용하여 채팅 응용 프로그램을 만들려고하고pubnub에서 오프라인 메시지를 검색하는 방법은 무엇입니까?

설명 아래

내가

사용자 A가 "talktoA"와 "ourPublicChannel을"채널에 가입 채팅을 구현하기 위해 만든 논리는 사용자 B가 사용자 A는 메시지가 채널에 등록되어 사용자 B로 을 "talktoB"을 채널로합니다 사용자 B의 사용자 A에게 이야기 할 때 "talktoB"와 "ourPublicChannel"

채널에 가입 "talktoB"사용자 B가 메시지를 받거나 그 반대로

0 사용자가 브로드 캐스트 메시지를 보낼 때

사용자가

1. **Establish a Connection** 

var pubnub = PUBNUB.init({ 
    publish_key: 'pub-mypublishkey', 
    subscribe_key: 'sub-mysubkey', 
    uuid : me 
    }); 

2. **Publish Message to a Channel** 



    //Sending a private message 
     pubnub.publish({ 
      channel: ['privatechannelofB'], 
      message: { 
      text: “Test Message to userB ”, 
      username: me 
      } 
      }); 

    //Sending a broadcast message 
    pubnub.publish({ 
     channel: ['publicchannel'], 
     message: { 
     text: “A Broadcast Message to all user”, 
     username: me 
     } 
     }); 

    3. **Subscribe /Receive to a channel** 
    pubnub.subscribe({ 
      channel: ['myprivatechannel','mypublichannel'] 
      message: function(data) { 

       alert(data)//Test Message 
      } 
     }); 


4. **History of message** 
pubnub.history({ 
    channel: channelname, 
    callback: function(m){console.log(m)}, 
}); 

나는 방법 다음

를 확인해야합니다 "ourPublicChannel"

에 따라 채널로 메시지를 보낼 각 작업에 대한 코드입니다 필요 오프라인 메시지를 검색 하시겠습니까? 사용자 A가 사용자 B에게 메시지를 보내고 사용자 B가 오프라인 인 경우 오프라인 메시지 을 표시해야합니까? 기록 api는 전체 메시지 목록을 제공하지만 오프라인 메시지인지 여부를 정렬하는 방법

접근 방법이 맞습니까?

답변

1

재생 및 저장 (내역 API)을 사용하면 채널의 메시지 기록을 최대 30 일 동안 보존 할 수 있습니다.

userA

는 인터넷에 연결되지 않은 userB에 메시지를 보내거나 응용 프로그램이 백그라운드에서 아무런 문제가, userB는 지난 30 일 자신의 채널에 전송 된 모든 메시지를 검색 할 수있을 것입니다 . 그렇지 않으면 "오프라인"및 "온라인"메시지간에 차이가 없습니다. 메시지가 성공적으로 전송 된 경우 히스토리 API를 사용하여 메시지를 검색 할 수 있습니다.

푸시 알림을 위해 모바일 푸시 게이트웨이를 사용할 수도 있습니다.이 경우 사용자는 앱이 백그라운드 상태 일 때 메시지를 받게됩니다.

최상의 사용 환경을 위해 나는 두 가지를 결합하여 메시지 수신에 문제가 없었습니다.

관련 문제