融云 IMKit SDK 5.X 升级说明

Tips

如果您应用依赖于 suport 包,可参考 AndroidX 迁移文档将依赖转换为 AndroidX 后,再集成 IMKit SDK 5.X版本。

1. 类路径调整

IMKit SDK 5.X 版本重构了 SDK 的架构,通过 MVVM 框架实现,导致很多类路径发生了更改,下表列出了 5.X 之前版本对外公开类的路径变更:

2.x 、4.x 版本路径 5.x 版本路径
io.rong.imkit.fragment.ConversationListFragment io.rong.imkit.conversationlist.ConversationListFragment
io.rong.imkit.fragment.ConversationFragment io.rong.imkit.conversation.ConversationFragment
io.rong.imkit.RongExtension io.rong.imkit.conversation.extension
io.rong.imkit.userInfoCache.RongUserInfoManager io.rong.imkit.userinfo.RongUserInfoManager
io.rong.imkit.mention.RongMentionManager io.rong.imkit.feature.mention.RongMentionManager
io.rong.imkit.manager.IUnReadMessageObserver io.rong.imkit.manager.UnReadMessageManager.IUnReadM

路径调整 Tips

参照上表,在 AndroidStudio 中 command+shift+R 全局搜索旧的类路径,替换为新路径。 如果深度定制化了 IMKit SDK,部分类路径的调整可能不在上述列表中,升级以后 AndroidStudio 会有红色报错。删除报错类里红色未识别的导入路径,鼠标停留到报错的地方,根据 AndroidStudio 的提示导入新路径即可。如果有多个地方使用了该路径,可以参考第一步里的方法,全局搜索并替换。

2. 集成方式变更

页面跳转时由原先的隐式调用方式更改为显示调用, 因此集成步骤有所简化和更改。您需要先移除旧版本 AndroidManifest.xml 文件中关于 IMKit SDK 的配置,参考官网文档重新集成。

3. 消息展示模板变更

列表页由 ListView 更改为效率更高的 RecycleView,因此自定义消息的展示模板需要对应调整。

将自定义消息的展示模板更改为继承 BaseMessageItemProvider<>, 并实现基类方法。 移除展示模板里原先的注解,原注解属性可在新模板构建类里通过调用基类成员 mConfig 的各个方法进行配置

4. 内部实现变更

资源名称变更。IMKit SDK 5.x 版本重新统一了资源名称的命名,如果您自定义了部分资源文件,可参考官网自定义文档,重新替换对应名称的资源。

移除了 EventBus 。IMKit 5.x 版本不再依赖于 EventBus 进行事件分发,更改为通过观察者模式实现。如果您应用里使用了旧版本 SDK 里的 EventBus, 升级后需要您从应用层自己引入依赖。

移除 RongContext 类。如果您应用里有调用 RongContext 作为上下文使用的地方,请更改为调用您自己的应用上下文。

由于更改为 MVVM 框架,原 fragment 里很多业务相关接口被移除,您可参考官网 5.x 版本文档重新进行页面自定义。