注销登录与销毁实例
更新时间: 2024/03/14 19:21:16
开发者需要自己管理好已建立长连接的 NIM 实例,不使用可以将其断开或者销毁。
功能介绍
一般情况下,如果您的应用生命周期跟 NIM 实例生命周期一致,用户在退出应用前可以不登出,直接退出即可。
但某些特殊场景,例如用户仅在进入特定界面后才调用 NIM 实例的能力,退出界面后不再调用,此时需要调用 NIM 实例的登出接口注销 IM 登录。 登出后,用户将不再接收 IM 的消息。
实现方法
注销登录
调用nim.disconnect
方法手动断开 NIM 实例与云信服务端的长连接,即注销 IM 登录。
销毁实例
调用nim.destroy
方法销毁 NIM 实例。
示例代码
js// 创建实例
const nim = NIMSDK.getInstance({
appkey: 'YOUR_APPKEY',
account: 'YOUR_ACCID',
token: 'YOUR_TOKEN',
debugLevel: 'debug',
});
await nim.connect()
// 断开
await nim.disconnect()
setTimeout(function() {
// 断开后仍旧可以 connect 成功
await nim.connect()
// 销毁后就无法再次 connect 建立长连接,需要再次 new 一个实例。
await nim.destroy()
}, 5000)
注意事项
-
调用
nim.disconnect
方法手动断开长连接后还可以调用nim.connect
方法恢复长连接。而调用nim.destroy
销毁实例后,长连接无法恢复,只能重新创建 NIM 实例。 -
uni-app 限制了只能建立一条客户端与服务端的长连接,因此建议在手动断开长连接后尽可能将之前的实例销毁,保证只有一个实例在建立长连接。
相关文档
此文档是否对你有帮助?