环信 即时通讯的集成

日活不超过30万条,是免费使用的。

1.消息的发送机制:

在线状态:客户端A发送消息到环信服务器,环信服务器推送消息到客户端B。

离线状态:客户端A发送消息到环信服务器,环信服务器检测到客户端B不在线,会添加到离线缓存中,当客户端B登录后服务器会把离线消息推送给客户端B。

需要配置推送证书,才能实现离线推送。

2. 3.0版本 中的核心类为 EMClient 类,通过 EMClient 类可以获取到 chatManager、groupManager、contactManager、roomManager对象。原来 2.0 版本的 SDK 很多方法提供了同步、异步回调、异步(block)三种方法,3.0 版只提供同步方法(async开头的方法为异步方法)

3.消息:环信SDK 接收到消息后,会默认下载:图片消息的缩略图,语音消息的语音,视频消息的视频第一帧,其他的需要我们自己调用接口,进行下载。

4.群组:分为四种类型,人数的上限为2000个。

5.聊天室:成员上限为5000,不支持客户端常建聊天室和进行邀请。

6.发送红包,新用户可以免费发送累计5000元总额的红包,超过5000元后,红包功能自动关闭。

7.发送电子名片的思路:利用扩展消息进行发送,扩展消息中的ext属性是字典类型,可以存储发送名片的用户的名字、头像的地址等信息,自定义cell的类,定义好界面的布局,接收到消息之后,进行数据展示即可。

8.环信发送图片、视频、音频等附件的原理:有一个文件服务器接收文件,并返回一个url的地址,将该url地址发送给接收方,接收方再根据url地址,进行下载显示。

9.阅后即焚功能的实现:在扩展消息中有阅后即焚的标识,b接收到消息时,根据该标识判断是否是阅后即焚,是的话,删除该消息,并发送回调,a接收到回调,从本地查询该消息回执对应的消息是否是阅后即焚消息,如果是就删除本地消息并更新显示。

10.消息回撤的实现:

A用户发消息给B用户,当需要回撤的时候,将要回撤消息的id通过扩展消息发送给B,B检测到回撤的透传消息后,将对应 messageid 的消息从数据库删除。

  1. A用户发送消息。
  2. A用户需要撤回某条消息,将消息id通过扩展消息发送到用户B。
  3. B用户收到扩展消息,解析其中的messageid,从数据库删除对应消息。
posted @ 2016-10-14 13:50  微凉空间  Views(1072)  Comments(0Edit  收藏  举报