升级指南.md 2.4 KB

V4.4.0 升级指南

随着时间增长,UIKit 功能业务越来越复杂,让我们不得不再次审视 UIKit 的定位角色,划清其在 DemoSDK 之间关系和职责,却发现 UIkitDemo 已经开始糅杂、耦合;并且开发者自定义变得不直观,学习成本高。 因此在 V4.4.0 我们不得不进行一次 UIKit 重构。建议开发者耐心阅读下新版的架构解析以及接口说明。由于内部结构发生了一些调整,有些类的包名发生了变化,若开发者升级到V4.4.0,请关注本文给出的迁移指导。

接口变更

ToolBar

ToolBarOptions 去掉默认值,与任何业务没有耦合。新增加 NimToolBarOptions,配置了 UIKit 默认值。

消息撤回观察者

封装了默认的消息撤回观察者 NimMessageRevokeObserver,开发者可以直接使用。

通知栏用户信息提供者

封装了 SDK 通知栏提醒时需要的用户信息提供者 NimUserInfoProvider,可以在初始化 SDK 时使用。

数据访问接口变更

访问数据不在使用 xxxCache 接口,而是使用xxxProvider 的方式,参考接口说明 中数据请求接口、数据变化通知接口的介绍。

流程变更

初始化

  • 新增加 UIKitOption 作为 UIKit 全局配置选项,开发者在 UIKit 初始化时可以根据需求进行配置。支持的自定义配置项参考UIKit全局配置项介绍

  • 增加异步初始化选项,UIKitOption 中配置。采用异步初始化可以节省 Application OnCreate 耗时,但是必须保证初始化完成之后再使用 UIKit 功能。

登入登出

  • 调用手动登录有两种选择,一是使用 UIKit 封装的登录方法,而是直接调用 SDK 登录方法,若选择后者,则需要在登录成功回调之后,调用 NimUIKit#loginSuccess() 方法。

  • 主动登出或者被踢之后,请调用 NimUIKit#logout 方法,重置 UIKit

聊天室

  • 进入聊天室成功之后,请调用 NimUIKit#enterChatRoomSuccess() 方法。

  • 退出聊天室之后,清调用 NimUIKit#exitedChatRoom() 方法。

Package 变更

由于 UIKit 内部包结构进行了调整,因此烦请开发者 App 中利用开发工具重新引用包即可,特别注意布局文件里面引用 View 或者 Fragment 的包路径。