GoBelieve JS IM SDK接入备忘

 

类IMService

构造函数

参数说明: * `observer` 回调对象(可选)

设置当前用户的access token

属性名:String accessToken 功能:在调用start之前必须要设置用户的accessTokentoken是由第三方应用服务器调用IM服务器RestAPI所得。

开始接受消息

方法名:start 功能:用户登陆成功后,连接im服务器来接受在线消息。 返回值:无返回值

停止接受消息

方法名:stop 功能:用户注销后,断开和im服务器的连接,从而终止接受在线消息。 返回值:无返回值

发送消息

方法名: sendPeerMessage 功能:发送im消息,如果当前连接处于断开状态,消息会发送失败, 函数返回YES,也不能表明服务器已经接收到消息。 参数说明: *msg 消息对象 返回值:bool返回值

IMService Observer

onConnectState

功能:连接状态变更通知 参数说明: * state 连接状态

消息

方法名: handlePeerMessage 功能:接受到一条im消息 参数说明: *msg 消息对象 返回值:无返回值

消息ACK

方法名: handleMessageACK 功能:服务器对收到消息的ack,此时这条消息才能标志为发送成功 参数说明: *msgLocalID(`Number`) 消息的本地ID *uid(`Number`) 消息接受者 返回值:无返回值

消息接受者ACK

方法名: handleMessageRemoteACK 功能:消息已经被对端接收到。 参数说明: *msgLocalID(`Number`) 消息的本地ID *uid(`Number`) 消息接受者 返回值:无返回值

消息发送失败

方法名: handleMessageFailure 功能:消息发出后,未收到服务器的ack,在和服务器的连接断开后,会通知消息发送失败。 参数说明: *msgLocalID(`Number`) 消息的本地ID *uid(`Number`) 消息接受者 返回值:无返回值

example

<script src="/engine.io.js"></script>

<script src="/json2.js"></script>

<script src="/im.js"></script>

<script>

  var observer = {

      handlePeerMessage: function (msg) {

          console.log("msg sender:", msg.sender, " receiver:", msg.receiver, " content:", msg.content, " timestamp:", msg.timestamp)

      },

      handleMessageACK: function(msgLocalID, receiver) {

          console.log("message ack local id:", msgLocalID, " receiver:", receiver)

      },

      handleMessageFailure: function(msgLocalID, receiver) {

          console.log("message fail local id:", msgLocalID, " receiver:", receiver)

      },

      onConnectState: function(state) {

          if (state == IMService.STATE_CONNECTED) {

             console.log("im connected");

          } else if (state == IMService.STATE_CONNECTING) {

             console.log("im connecting");

          } else if (state == IMService.STATE_CONNECTFAIL) {

             console.log("im connect fail");

          } else if (state == IMService.STATE_UNCONNECTED) {

             console.log("im unconnected");

          }

      },

      onReset: function() {

          console.log("reset");

      }

  }



  var im = new IMService(observer);

  im.accessToken = "????";

  im.start()



  var msg = {sender:100, receiver:200, content:"11", msgLocalID:1000}



  //connectState == STATE_CONNECTING

  var r = im.sendPeerMessage(msg);

  //r == false

  console.log("send message result:", r);



  function send() {

      var msg = {sender:100, receiver:100, content:"11", msgLocalID:1000}

      if (im.connectState == IMService.STATE_CONNECTED) {

          im.sendPeerMessage(msg);

      }

  }



  setTimeout(send, 2000)

</script>

你可能感兴趣的:(sdk)