注销登录与销毁实例

更新时间: 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 限制了只能建立一条客户端与服务端的长连接,因此建议在手动断开长连接后尽可能将之前的实例销毁,保证只有一个实例在建立长连接。

相关文档

此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 实现方法
  • 注销登录
  • 销毁实例
  • 示例代码
  • 注意事项
  • 相关文档