跳到主要内容

断开连接

在 App 需要执行切换用户登录、注销登录的操作时,需要断开与融云的 IM 连接。SDK 支持设置断开 IM 连接之后是否允许向用户发送消息推送通知。

提示

SDK 在前后台切换或者网络出现异常都会自动重连,会保证连接的可靠性。除非 App 逻辑需要登出,否则不需要调用此方法进行手动断开。

断开连接(允许推送)

主动断开与融云服务端的 IM 连接,并设置断开连接后允许融云服务端进行远程推送。以下两种方式效果一致:

RongIMClient.getInstance().disconnect()

或者:

RongIMClient.getInstance().disconnect(true)
参数类型说明
isReceivePushBoolean断开连接后,是否允许融云服务端进行远程推送。 true 表示接收远程推送。false 表示不接收远程推送。

如果融云服务端发现 App 客户端不在线(默认要求全部设备已下线),在接收新消息时,融云服务端会为该用户记录一条离线消息?,并触发融云服务端的推送服务。融云服务端会通过推送通道下发一条提醒到客户端 SDK。该提醒一般以通知形式展示在通知面板,提示用户有离线消息。

断开连接(不允许推送)

主动断开与融云服务端的 IM 连接,并设置断开连接后不允许融云服务端进行远程推送。

需要注销登录(登出)或切换 App 用户账号时,推荐使用以下方法,效果一致:

RongIMClient.getInstance().logout()

或者:

RongIMClient.getInstance().disconnect(false)
参数类型说明
isReceivePushBoolean断开连接后,是否允许融云服务端进行远程推送。 true 表示接收远程推送。false 表示不接收远程推送。

断开连接且不允许推送的情况下,融云服务端仅记录离线消息,但不会为当前设备触发推送服务。如果用户登录了多个设备,则在其他设备中最后一个登录的设备上可正常接收推送。在多设备场景下,App 可能需要保证设备间消息记录一致,可通过开启多设备消息同步实现。详见多设备消息同步