监听数据库状态
客户端 SDK 为 App 提供了 IM 数据库状态监听器。通过监听 IM 数据库状态的变化,App 可以进行不同业务处理,或在页面上给出提示。
interface DatabaseStatusListener {
/**
* 数据库状态发生变化
*```
* 数据库打开的时机:
* 1. IMToken 首次连接:SDK 不知道对应的用户 Id,所以必须等到连接成功才能打开数据
* 2. 使用相同 IMToken 再次连接:相同的 IMToken 一定代表相同的用户 Id,所以 SDK 先打开数据库后连接。凭借该特性可以在无网时立即打开数据库
* 3. 更换新的 IMToken 再次连接:逻辑同 IMToken 首次连接,SDK 不知道对应的用户 Id,所以必须等到连接成功才能打开数据
*```
* @param status 数据 库状态
*/
onDatabaseStatusChange(status: DatabaseStatus);
}
添加数据库状态监听器
接口定义如下
// 见 IMEngine.ts
public addDatabaseStatusListener(listener: DatabaseStatusListener): void
移除数据库状态监听器
接口定义如下
// 见 IMEngine.ts
public removeDatabaseStatusListener(listener: DatabaseStatusListener): void
数据库状态说明
状态的具体说明请参考下表。
状态名称 | 状态值 | 说明 |
---|---|---|
Idle | 0 | 未打开 |
OpenSuccess | 1 | 数据库打开成功 |
OpenFailed | 2 | 数据库打开失败 |
Upgrading | 3 | 数据库升级中 |
UpgradeSuccess | 4 | 数据库升级成功 |
UpgradeFailed | 5 | 数据库升级失败 |