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

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

容联云通讯官网


注册登录

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

开发流程

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

代码片段

初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//初始化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;
}

登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//账号登录参数设置
var loginBuilder = new RL_YTX.LoginBuilder();
loginBuilder.setType(1);//登录类型 1账号登录,3通讯账号密码登录
loginBuilder.setUserName(“用户登录名”);//设置用户名
loginBuilder.setPwd();//type值为1时,密码可以不赋值
loginBuilder.setSig(sig);//设置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){
//收到群组通知
});
RL_YTX.onConnectStateChangeLisenter(function(obj){
//连接状态变更
// obj.code;//变更状态 1 断开连接 2 重连中 3 重连成功 4 被踢下线 5 断开连接,需重新登录
// 断线需要人工重连
});
}, function(obj){
//登录失败方法回调
})

一对一聊天

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//新建消息体对象
var obj = new RL_YTX.MsgBuilder();
//设置自定义消息id
obj.setId(msgid);
//假设页面存在一个id为file的<input type=”file”>元素
//获取图片或附件对象
var file = document.getElementById("file").files[0];
//设置图片或附件对象
obj.setFile(file);
//设置发送的文本内容
obj.setText(text);
//设置发送的消息类型1文本消息4 图片消息6 附件消息
//发送非文本消息时,text字段将被忽略,发送文本消息时 file字段将被忽略
obj.setType(1);
//设置接收者
obj.setReceiver(“john的id”);

RL_YTX.sendMsg(obj, function(){
//发送消息成功
//处理用户逻辑,通知页面
}, function(obj){//失败
//发送消息失败
//处理用户逻辑,通知页面刷新,展现重发按钮
}, function(sended, total){
//发送图片或附件时的进度条
//如果发送文本消息,可以不传该参数
});

效果截图:

主要实现了2个功能

  • 点对点聊天
  • 离线消息支持

源码链接

坚持原创技术分享,您的支持将鼓励我继续创作!