初始化及登录

初始化SDK

在页面初始化完成后立即调用H5_SDK的初始化方法,该方法会返回初始化的结果(obj.code)。如果初始化失败(obj.code!=200),客户根据自己的业务逻辑做处理,建议关闭页面。如果初始化成功(obj.code=200),才可以进行登录等后续操作,如果登录成功,用户可以根据unsupport(该值表示初始化以后不支持的功能,数组类型,以错误码形式表示)字段,做一些逻辑处理,例如屏蔽页面上不支持的功能等。示例代码如下(参考DEMO中的IM.init方法):                                       
  • //初始化SDK
  • var resp = RL_YTX.init(“用户的appid”); 
  • if(170002== resp.code){
  • //缺少必要参数,详情见msg参数
  • //用户逻辑处理
  • }else if(174001 == resp.code){
  • //不支持HTML5,关闭页面//用户逻辑处理}
  • else if(200 == resp.code){
  •         //初始化成功
  •         //用户逻辑处理
  •     //判断不支持的功能,屏蔽页面展示
  •     var unsupport = resp.unsupport;
  •     }

SDK关闭日志输出

在初始化之后调用RL_YTX.setLogClose()即可,若要输出日志内容,将此代码屏蔽就可以恢复。                                             

登录及设置回调

初始化完成以后,用户可以进行登录操作。用户可以在登录成功的回调,或者初始化成功以后设置通知回调监听。示例代码如下(参考DEMO中的IM.EV_login方法): 
注意:
sig参数由用户请求自己的服务器生成,sig规则:MD5(appid+userName+timestamp(yyyyMMddHHmmss)+apptoken);  MD5为标准MD5格式。timestamp和LoginBuilder中设置的时间戳必须一样。当voip账号密码登录时,可以不传sig。                        
  • //账号登录参数设置
  • var loginBuilder = new RL_YTX.LoginBuilder();
  • //登录类型 1账号登录,3voip账号密码登录
  • loginBuilder.setType(1);
  • //设置用户名
  • loginBuilder.setUserName(“用户登录名”);
  • //type值为1时,密码可以不赋值
  • loginBuilder.setPwd();
  • //设置sig
  • loginBuilder.setSig(sig);
  • //设置时间戳
  • loginBuilder.setTimestamp(yyyyMMddHHmmss);
  • //执行用户登录
  • RL_YTX.login(loginBuilder, function(obj){
  • //登录成功回调
  • //注册接收消息事件监听
  • RL_YTX.onMsgReceiveListener(function(obj){
  • //收到push消息或者离线消息或判断输入状态//如果obj.msgType==12  判断obj.msgDomainn的值//obj.msgDomain 0 无输入状态  1 正在输入  2 正在录音
  • });
  • //注册群组通知事件监听
  • RL_YTX.onNoticeReceiveListener(function(obj){
  • //收到群组通知});
  • );}, function(obj){
  •     //登录失败方法回调
  •     })

连接状态变更

  • RL_YTX.onConnectStateChangeLisenter(function(obj){
  • //连接状态变更
  • //变更状态 1 断开连接 2 重连中 3 重连成功 4 被踢下线 5 断开连接,需重新登录
  • obj.code;
  • // 断线需要人工重连
  • );}

登出

当用户切换账号或者退出时,需要调用登出接口,示例代码如下(参考DEMO中的IM. EV_logout方法)
  • RL_YTX.logout(function(){
  •         //登出成功处理
  •         }, function(obj){
  •         //登出失败处理
  •         });                                

关闭浏览器事件绑定

对外开放的onbeforeunload接口                    
  • //该方法会返回一个ID,用来清除该事件
  • var id = RL_YTX.bindBeforeUnload(function(){})
  • //清除事件的时候 会根据绑定时候返回的ID进行清除
  • RL_YTX.unbindBeforeUnload(id);