青岛建手机网站公司,建网站做seo,做软装找图片的网站,顺德搜索seo网络推广前言
环信新版UIKit已重磅发布#xff01;目前包含单群聊UIKit、聊天室ChatroomUIKit#xff0c;本文详细讲解Android端单群聊UIKit的集成教程。
环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库#xff0c;提供各种组件实现会话列表、聊天界…前言
环信新版UIKit已重磅发布目前包含单群聊UIKit、聊天室ChatroomUIKit本文详细讲解Android端单群聊UIKit的集成教程。
环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库提供各种组件实现会话列表、聊天界面、联系人列表及后续界面等功能帮助开发者根据实际业务需求快速搭建包含 UI 界面的即时通讯应用。
在环信旧版UIkit 中很多开发者比较头疼的是头像昵称问题新版UIkit 将解决这一烦恼。新的UIkit从消息扩展中获取昵称和头像把用户基本的昵称和头像的URL放到消息的扩展中通过消息传递给接收方当收到一条消息时则能通过消息的扩展得到发送者的昵称和头像URL然后保存到本地数据库和缓存。当显示昵称和头像时进行获取。 此外新版UIkit 使用的是Kotlin语言进行开发目前支持本地module 形式的导入远程依赖可以关注官网后续更新。
官方文档链接
新版UIkit 官方文档新版UIkit 源码旧版UIkit 官方文档旧版UIkit 源码
1、本地module 导入
集成条件以及环境配置需要参考文档 https://doc.easemob.com/uikit/chatuikit/android/chatuikit_quickstart.html
本地module 导入可以选择File - new - import module 进行导入。 部分项目按照上面可能会导入失败。可以选择把 ease-im-kit 放到跟app 一个级别下面手动进行配置。 在settings.gradle.kts 下进行添加
include(:ease-im-kit)在app module 下进行添加本地依赖
implementation(project(mapOf(path to :ease-im-kit)))导入以后编译项目即可
2、头像昵称的使用
用户调用 EaseIM.login 方法登录时需要传入一个 EaseProfile 对象包含 id、name 和 avatar 三个属性。id 为必填参数**name **和 avatar 用于展示当前用户昵称和头像。发送消息时将 name 和 avatar 属性设置到消息的 ext 中方便其他用户进行展示。
EaseIM.login(user EaseProfile(id ,name ,avatar ),token , onSuccess {}, onError {code,error -}
)这里登录时进行了设置。发消息时把头像昵称进行携带在了扩展字段里面扩展字段key 如下
exts: [{key: ease_chat_uikit_user_info,type: 8,value: {nickname: 小刚,avatarURL: https:\/\/img0.baidu.com\/it\/u4105778329,1297102594fm253app120sizew931n0fJPEGfmtauto?sec1710954000td0bfcba4c95d2e7b9bc8aaaf870f0582}}]接收到消息以后UIKit 会进行处理聊天页面就可以进行头像跟昵称的展示了 这里接收到的消息获取到扩展字段解析如下
val jsonObject JSONObject(message.ext().get(ease_chat_uikit_user_info).toString())
jsonObject.get(nickname).toString()//获取昵称
jsonObject.get(avatarURL).toString()// 获取头像 3、会话列表进行设置头像昵称
EaseIM.setConversationInfoProvider(object : EaseConversationInfoProvider {// 同步获取会话信息override fun getProfile(id: String?, type: ChatConversationType): EaseProfile? {return when(type) {ChatConversationType.Chat -{// 可以从本地数据库或者缓存中获取用户信息并返回不可进行异步操作。loadUserInfoFromLocal(id)}ChatConversationType.GroupChat - {// 可以从本地数据库或者缓存中获取群组信息并返回不可进行异步操作。loadGroupInfoFromLocal(id)}else - null}return null}override fun fetchProfiles(idsMap: MapChatConversationType, ListString,onValueSuccess: OnValueSuccessListEaseProfile) {fetchProfilesFromServer(idsMap, onValueSuccess)}})这里可以再接收到消息以后进行更新会话列表的头像昵称也可以通过从服务端获取获取到以后进行调用上面方法进行设置。 在上面代码中 loadUserInfoFromLocal(id) 是需要自己进行从本地获取然后设置到会话列表中这里也可以再接收消息是进行获取对方的信息进行设置。
4、会话列表的集成与介绍
通过继承 EaseConversationListFragment 进行自定义设置
EaseConversationListFragment 里面实现了页面跳转逻辑如果继承EaseConversationListFragment 的情况下需要实现对应的方法即可 也可以直接使用EaseConversationListFragment 进行使用。
至此集成与头像昵称使用介绍完要比历史版本头像昵称使用简单很多哦欢迎使用新的UIkit 了解更多功能。
参考文档 注册环信IMhttps://console.easemob.com/user/register 单群聊UIKit集成文档https://doc.easemob.com/uikit/chatuikit/android/chatuikit_overview.html IMGeek社区支持https://www.imgeek.net/