说明
本篇文章简单介绍一下融云 imkit 包含的功能,大家可在阅读之后来对大体内容有一个基础的了解。详细内容还请翻阅 官方文档
基本内容
融云 imkit 是为了方便开发者快速集成而开发的一套 UI 库,里面主要包含三部分内容:
- 用户信息
- 会话列表
- 会话页面
用户信息
image.png用户信息是指融云 SDK 提供了一套完整的用户信息的显示与存储机制,里面包含了用户信息、群信息、群名片信息,开发者仅仅需要将自己 App Server 内的用户信息包装成一个融云的特有的用户信息对象,然后传递给对应的接口即可。之后融云 SDK 会自己帮助显示对应用户的用户信息,并存储在本地数据库,方便后续的读取。
大体的显示流程可参考官方的流程图:
image.png会话列表
image.png会话列表是融云 SDK 根据消息生成的一个 list
当收到一条新消息并且会话列表没有当前会话的时候,SDK 会自动生成一条新的会话数据,并添加到 tableview 中。
需要注意的是融云的会话列表不会存储在服务器中,只在本地存储。当切换设备时,需要去融云开发者后台开通多设备同步,这样在新设备登录的时候,会触发融云的消息补偿,当移动端接收到消息的时候,会在新设备也生成一个新的会话列表。正常情况就是你设置几天就补偿几天。
支持的功能有:
- 会话置顶
- 会话删除
- 会话免打扰
- 已读回执显示
- 有人@显示
会话页面
image.png融云的会话页面整体可分为两部分
- 消息展示区
- 输入框
消息展示
消息展示就是当前用户收发消息展示的地方,和常规 APP 一样,接收在左边,发送在右边。发送方是不显示昵称的,接收方可根据配置来选择是否显示昵称。
SDK 自带的消息展示有
- 文本消息
- 语音消息
- 图片消息
- GIF 消息
- 视频消息
- 位置消息
- 文件消息
- 小灰条消息
开发者还能根据自己的需求来自定义其他消息,自定义消息有两种用法:
- 发送其他需要展示的消息,对应绑定一套 UI 组件,收到消息后,融云SDK 帮助你把绑定的这套 UI 展示到界面上。
- 当做控制消息:控制消息就是你不展示到界面上,但是你可以利用消息机制来做处理,从服务器或者其他地方下发一个指令,收到这个消息后,UI不会发生任何变化。但你可以根据这条消息来处理你的业务操作。比如刷新某个页面,获取某个信息等等
开发者可以继承融云的会话页面,在其子类来进行其他操作,在进入会话页面的时候,SDK 会自动拉取当前会话的历史聊天记录,这个操作会先从本地数据库获取,如果不够 10 条的话,会从服务器获取,需要开通历史消息云存储功能。(融云 SDK 会在本地搭建一套数据库,用来存储你所有的聊天内容)
在获取到历史记录之后,SDK 会自动帮你展示到 消息展示区。展示出来的消息都支持以下功能:
- 发送出去的消息支持已读回执(单群聊)
- 消息撤回:kit 默认为两分钟
- 消息多选
- 消息转发:支持合并转发
- 消息引用
- 消息删除
输入框
SDK 提供的输入框共分为四部分:
- 文本输入
- 语音输入
- 表情
- 扩展板
文本输入:
文本输入支持用户输入任何文本
群聊输入 @ 可触发@ 人功能
语音输入:
语音输入分为普通语音消息和高清语音消息
高清语音消息是在2.9.25之后支持的。建议使用此套方案。
表情:
SDK 有一套默认的 emoji 表情,且支持表情自定义。
扩展板:
扩展板也就是 + 号区域,SDK 默认支持的功能有:
- 音视频(需要集成 融云音视频,集成之后会自动出现)
- 照片
- 位置:支持位置实时共享
- 语音输入:需要使用科大讯飞的库来做,融云提供了相关的库内容
- 名片
- 文件:文件消息是 SDK 下载到指定目录的文件,并非手机系统的文件。
- 其他:自定义内容,可根据自己的业务添加其他的小内容。
此外,SDK还提供了 常用语功能,目前仅支持单聊,且字数在 30 字以内,可进行类似快捷回复之类的操作。
其他内容,后续补充。
更多详细的内容可自己阅读官网文档。
网友评论