我们来继续这个系列,今天给大家讲下IM的云旺IM快速接入,当然也顺便推荐讲下其他的IM。
文章结构:(1)IM的介绍、第三方IM的推荐以及服务端接入配合App的大概流程;(2)云旺IM快速接入。
一、IM的介绍以及服务端接入方案:
即时通信(IM,即 Instant Messaging)是指能够即时发送和接收互联网消息等的业务。
(1)服务端接入IM是为了干什么呢??
1.第三方的IM不想知道你的应用关于用户的一些东西,比如你的用户关系,你的用户关联算法
2.账号密码的管理,还有各项信息的返回给客户端,比如聊天记录导出,
3.减轻后台的压力,一般小公司是不可能自己做一套撑住并发的IM方案的,使用第三方利于减轻压力。
(2)第三方IM的推荐
1.选择考虑方向
稳定性
安全性
功能性
费用
运维服务
企业规模
升级策略
SDK支持
服务
通信协议
2.第三方公司背景及价格:
创业公司:融云、环信、yun2win、容联
大企业:网易云信(专业、价格高)、阿里云旺(特殊,原阿里悟空保留下来的,价格不算高)
融云:优点:费用低、功能可满足 。缺点:暂时无。
网易云信: 优点:专业、功能多、稳定、安全。缺点:费用高
阿里云旺:优点:专业、功能多、稳定、安全。缺点:没接入阿里云,而是在淘宝的api上,不清楚未来。
(3)一般小型app的方案:
1.单纯地为用户注册IM账号密码
2.注册账号密码+客服
剩下的就是一些IM给的一些小接口功能了。
二、云旺IM快速接入:
(1)当然是先申请为开发者,申请功能,创建个应用拿到appkey啦:
(2)下载SDK,拿到两个jar包,放入自己的工程:
(3)必须学会用他官方提供的接口工具,试着玩下先:
怎么使用??例子先选个添加用户账号到我们开发者的IM账号先。
(4)在我们的工程中编写啦:按所给例子来
我们看到他的使用范例对吧??但是我们要对他的一些方法有清晰的认识。
//例子是导入用户账号
//这两句是调用淘宝的相关API咯,支持restful风格的api
/*
* url就是第三方IM的入口咯。
* http请求地址:http://gw.api.taobao.com/router/rest
* https请求地址:https://eco.taobao.com/router/rest
* appkey和secret:这个应用的凭证信息,是调用API唯一凭证。
*/
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
OpenimUsersAddRequest req = new OpenimUsersAddRequest();
//存储用户的列表
List<Userinfos> list2 = new ArrayList<Userinfos>();
//这个是请求参数,就是云旺IM会帮我们的用户保存什么信息??这个就是一个用户咯
Userinfos obj3 = new Userinfos();
list2.add(obj3);
obj3.setNick("king");
obj3.setIconUrl("http://xxx.com/xxx");
obj3.setTaobaoid("tbnick123");
obj3.setUserid("imuser123");
obj3.setPassword("xxxxxx");
obj3.setRemark("demo");
obj3.setExtra("{}");
obj3.setCareer("demo");
obj3.setVip("{}");
obj3.setAddress("demo");
obj3.setName("demo");
obj3.setAge(123L);
obj3.setGender("M");
obj3.setWechat("demo");
obj3.setQq("demo");
obj3.setWeibo("demo");
req.setUserinfos(list2);//一会说明下这个set方法
OpenimUsersAddResponse rsp = client.execute(req);//提交整个事务给淘宝clientAPI
System.out.println(rsp.getBody());//打印返回体
//刚刚所说的set方法,我们可以看到有两个形式
//这是是要你去拼接JSON数组
public void setUserinfos(String userinfos) {
this.userinfos = userinfos;
}
//这个则是规定你要存进一个用户的列表
public void setUserinfos(List<Userinfos> userinfos) {
this.userinfos = (new JSONWriter(false, true)).write(userinfos);
}
好了,这样就完成接入云旺IM的添加用户功能了,很简单吧??不懂的可以看下给出的DEMO。
好了,J2EE项目系列(三)--Spring Data JPA+Spring+SpringMVC+Maven快速开发(2)多个第三方服务端接入之云旺IM讲完了。本博客是这个系列的第二篇,讲述下现在互联网第三方的IM以及云旺IM的接入,还有一系列的外包项目涉及的零散点,我会尽快出完给大家,分享经验给大家。欢迎在下面指出错误,共同学习!!你的点赞是对我最好的支持!!