[关闭]
@Fancy-Bai 2017-04-12T19:03:48.000000Z 字数 1742 阅读 1983

使用容联IM开发一个聊天即时通讯程序

即时通讯 IM


容联主要是通过整合运营商的网络和通信资源,将通讯能力打包成API接口与SDK,为企业和开发者提供通话、短信、视频、呼叫中心、IM、流量等通讯服务和不同场景下的行业通讯解决方案。

容联云通讯官网

注册登录

  1. 首先进行注册,注册成功之后,在应用管理的应用列表里会默认生成一个应用01的应用。
  2. 其次,在账号--认证信息中进行认证。需要上传手持身份证的照片,默认认证时间需要24小时(我实际上只用了10分钟不到就接到审核通过的邮件)
  3. 身份认证成功之后,默认的应用01会自动上线,状态为运营中
  4. 打开应用01的应用管理界面,可以看到我们开发需要的APP_IDAPP_TOKEN

开发流程

  1. 打开SDK-Web文档
  2. 我们依次需要初始化登录以及单聊的步骤

代码片段

初始化

  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. //用户逻辑处理
  9. }else if(200 == resp.code){
  10. //初始化成功
  11. //用户逻辑处理
  12. //判断不支持的功能,屏蔽页面展示
  13. var unsupport = resp.unsupport;
  14. }

登录

  1. //账号登录参数设置
  2. var loginBuilder = new RL_YTX.LoginBuilder();
  3. loginBuilder.setType(1);//登录类型 1账号登录,3通讯账号密码登录
  4. loginBuilder.setUserName(“用户登录名”);//设置用户名
  5. loginBuilder.setPwd();//type值为1时,密码可以不赋值
  6. loginBuilder.setSig(sig);//设置sig
  7. loginBuilder.setTimestamp(yyyyMMddHHmmss);//设置时间戳
  8. //执行用户登录
  9. RL_YTX.login(loginBuilder, function(obj){
  10. //登录成功回调
  11. RL_YTX.onMsgReceiveListener(function(obj){
  12. //收到push消息或者离线消息或判断输入状态
  13. //如果obj.msgType==12 判断obj.msgDomainn的值
  14. //obj.msgDomain 0 无输入状态 1 正在输入 2 正在录音
  15. });
  16. //注册群组通知事件监听
  17. RL_YTX.onNoticeReceiveListener(function(obj){
  18. //收到群组通知
  19. });
  20. RL_YTX.onConnectStateChangeLisenter(function(obj){
  21. //连接状态变更
  22. // obj.code;//变更状态 1 断开连接 2 重连中 3 重连成功 4 被踢下线 5 断开连接,需重新登录
  23. // 断线需要人工重连
  24. });
  25. }, function(obj){
  26. //登录失败方法回调
  27. })

一对一聊天

  1. //新建消息体对象
  2. var obj = new RL_YTX.MsgBuilder();
  3. //设置自定义消息id
  4. obj.setId(msgid);
  5. //假设页面存在一个id为file的<input type=”file”>元素
  6. //获取图片或附件对象
  7. var file = document.getElementById("file").files[0];
  8. //设置图片或附件对象
  9. obj.setFile(file);
  10. //设置发送的文本内容
  11. obj.setText(text);
  12. //设置发送的消息类型1文本消息4 图片消息6 附件消息
  13. //发送非文本消息时,text字段将被忽略,发送文本消息时 file字段将被忽略
  14. obj.setType(1);
  15. //设置接收者
  16. obj.setReceiver(“johnid”);
  17. RL_YTX.sendMsg(obj, function(){
  18. //发送消息成功
  19. //处理用户逻辑,通知页面
  20. }, function(obj){//失败
  21. //发送消息失败
  22. //处理用户逻辑,通知页面刷新,展现重发按钮
  23. }, function(sended, total){
  24. //发送图片或附件时的进度条
  25. //如果发送文本消息,可以不传该参数
  26. });

效果截图:

源码链接

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注