状态监听事件说明

使用 addEventListener 监听 IM 连接状态,可根据连接状态进行不同业务处理,或在页面上给出提示。

  • 建议在应用生命周期内设置。
  • 应用销毁时,应清理这些事件监听。
事件 说明
Events.CONNECTING IM 连接中
Events.CONNECTED IM 连接完成
Events.DISCONNECT IM 连接已断开,业务层需进行重连处理
Events.SUSPEND IM 连接中断,SDK 负责尝试恢复重连

示例代码

const Events = RongIMLib.Events
/**
 * 正在链接的事件状态
 */
RongIMLib.addEventListener(Events.CONNECTING, () => {
  console.log('正在链接...')
})

/**
 * 链接到服务器会触发这个事件
 */
RongIMLib.addEventListener(Events.CONNECTED, () => {
  console.log('连接成功')
})

/**
 * 手动调用 disconnect 方法或者用户被踢下线 会触发这个事件
 */
RongIMLib.addEventListener(Events.DISCONNECT, (code) => {
  console.log('连接中断,需要业务层进行重连处理 ->', code)
})

/**
 * 链接出问题时,内部进行重新链接,会触发这个事件
 */
RongIMLib.addEventListener(Events.SUSPEND, (code) => {
  console.log('链接中断,SDK 会尝试重连,业务层无需关心')
  // 5.1.2 版本开始,事件回调中会引起中断的 code 状态码
  console.log(`code -> ${code}`)
})

注意

不要在 Events.DISCONNECT 回调中,主动调用 connect 方法,避免进入死循环互踢或者 死循环连接