跳到主要内容

监听数据库状态

客户端 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

数据库状态说明

状态的具体说明请参考下表。

状态名称状态值说明
Idle0未打开
OpenSuccess1数据库打开成功
OpenFailed2数据库打开失败
Upgrading3数据库升级中
UpgradeSuccess4数据库升级成功
UpgradeFailed5数据库升级失败