初始化及登录

初始化SDK

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

SDK关闭日志输出

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

登录及设置回调

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

连接状态变更

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

登出

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

关闭浏览器事件绑定

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