expert-app/uikit/documents/升级指南.md
2025-11-18 15:25:59 +08:00

49 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# V4.4.0 升级指南
随着时间增长,`UIKit` 功能业务越来越复杂,让我们不得不再次审视 `UIKit` 的定位角色,划清其在 `Demo``SDK` 之间关系和职责,却发现 `UIkit``Demo` 已经开始糅杂、耦合;并且开发者自定义变得不直观,学习成本高。
因此在 V4.4.0 我们不得不进行一次 `UIKit` 重构。建议开发者耐心阅读下新版的[架构解析](架构解析.md)以及[接口说明](NimUikit定制化接口介绍.md)。由于内部结构发生了一些调整有些类的包名发生了变化若开发者升级到V4.4.0,请关注本文给出的迁移指导。
## 接口变更
### ToolBar
`ToolBarOptions` 去掉默认值,与任何业务没有耦合。新增加 `NimToolBarOptions`,配置了 `UIKit` 默认值。
### 消息撤回观察者
封装了默认的消息撤回观察者 `NimMessageRevokeObserver`,开发者可以直接使用。
### 通知栏用户信息提供者
封装了 `SDK` 通知栏提醒时需要的用户信息提供者 `NimUserInfoProvider`,可以在初始化 `SDK` 时使用。
### 数据访问接口变更
访问数据不在使用 xxxCache 接口而是使用xxxProvider 的方式,参考[接口说明](NimUikit定制化接口介绍.md) 中数据请求接口、数据变化通知接口的介绍。
## 流程变更
### 初始化
- 新增加 `UIKitOption` 作为 `UIKit` 全局配置选项,开发者在 `UIKit` 初始化时可以根据需求进行配置。支持的自定义配置项参考[UIKit全局配置项介绍](Uikit全局配置项介绍.md)。
- 增加异步初始化选项,`UIKitOption` 中配置。采用异步初始化可以节省 Application OnCreate 耗时,但是必须保证初始化完成之后再使用 `UIKit` 功能。
### 登入登出
- 调用手动登录有两种选择,一是使用 `UIKit` 封装的登录方法,而是直接调用 `SDK` 登录方法,若选择后者,则需要在登录成功回调之后,调用 NimUIKit#loginSuccess() 方法。
- 主动登出或者被踢之后,请调用 NimUIKit#logout 方法,重置 `UIKit`
### 聊天室
- 进入聊天室成功之后,请调用 NimUIKit#enterChatRoomSuccess() 方法。
- 退出聊天室之后,清调用 NimUIKit#exitedChatRoom() 方法。
## Package 变更
由于 `UIKit` 内部包结构进行了调整,因此烦请开发者 App 中利用开发工具重新引用包即可,特别注意布局文件里面引用 `View` 或者 `Fragment` 的包路径。