一.环信定义

1.环信是移动即时通讯能力的云计算PaaS(platform as a Service,平台即服务)平台服务商。

2.环信将基于移动互联网的即时通讯能力,如: 单聊,群聊,发语音,发图片,发位置,实时音频,实时视频等,通过云端开放的Rest API和客户端SDK包的方式提供给开发者和企业。让App内置聊天功能和以前网页中嵌入分享功能一样简单。让移动开发者摆脱繁重的移动IM通讯底层开 发,极大限度地缩短产品开发周期,极短的时间内让App拥有移动IM能力。

二.开发者注册步骤:

1.在环信官网上点击注册,跳转到环信管理后台注册页面

环信-风君雪科技博客

2.账号激活后,回到控制台登录页面登录到开发者后台,在我的应用中,点击创建应用按钮

环信-风君雪科技博客

3.应用名称会存在于你生成的APPKey中

环信-风君雪科技博客 

4.引用第三方类库

环信-风君雪科技博客

部分方法:

构造消息类

1.构造文字消息

环信-风君雪科技博客

2.构造图片消息

环信-风君雪科技博客

3.构造位置消息

环信-风君雪科技博客

4.构造语音消息

环信-风君雪科技博客

5.构造视频消息

环信-风君雪科技博客

6.构造文件消息

环信-风君雪科技博客

7.构造透传消息

SDK提供的一种特殊类型的消息,即CMD,不会存db,也不会走APNS推送,类似一种指令型的消息。比如您的服务器要通知客户端做某些操作,您可以服务器和客户端提前约定好某个字段,当客户端收到约定好的字段时,执行某种特殊操作。

环信-风君雪科技博客

 自定义消息扩展

有时候需要在消息中携带一些扩展内容,用来实现特殊需求,比如阅后即焚等。EMMessage提供了ext属性,专门用来ext属性是NSDictionary类型,key和value必须是基本类型,而且不能是JSON.

可以这样使用:EMMessage.ext = @{@”key” :@”value”};

1.插入消息

环信-风君雪科技博客

2.更新消息属性

环信-风君雪科技博客

会话

会话:操作聊天消息EMMessage的容器,在SDK中对应的类型是EMMConversation

1.新建/获取一个会话

根据conversationld创建一个conversation

环信-风君雪科技博客

2.删除单个会话

3.根据conversation批量删除会话

4.获取或创建会话列表

环信-风君雪科技博客

5.获取内存中所有会话

6.获取DB中的所有会话

7.获取会话未读消息数

消息检索

可以通过关键字,消息类型,开始结束时间检索某个会话中的消息

环信-风君雪科技博客

环信-风君雪科技博客

环信-风君雪科技博客

聊天

登录成功之后才能进行聊天操作。发消息时,单聊和群聊调用的是统一接口,区别只是要设置一下message.chatType

1.发送消息

环信-风君雪科技博客

2.接收消息

注册消息回调:

环信-风君雪科技博客

在线普通消息会走以下回调:

环信-风君雪科技博客

透传(cmd)在线消息会走以下回调:

环信-风君雪科技博客

解析普通消息

环信-风君雪科技博客

环信-风君雪科技博客

环信-风君雪科技博客

环信-风君雪科技博客

解析透传消息

环信-风君雪科技博客

解析消息扩展属性

环信-风君雪科技博客

自动下载消息中的附件

SDK接收到消息后,会默认下载:图片消息的缩略图,语音消息的语音,视频消息的视频第一帧。

请先判断你要下载附件没有下载成功之后,在调用以下下载方法,否则SDK下载方法会再次从服务器上获取附件。

环信-风君雪科技博客

下载消息中的原始附件

环信-风君雪科技博客

消息已送达回执

SDK提供了已送达回执,当对方收到您的消息后,您会收到以下回调

环信-风君雪科技博客

消息已读回执

已读回执需要开发者主动调用的。当用户读取消息后,由开发者主动调用方法

发送已读消息

环信-风君雪科技博客

接收已读回执

环信-风君雪科技博客