断开连接
连接融云服务后,在需要用户切换、用户注销的操作时,可通过下面方法断开与融云的 IM 连接,并可根据此方法来设置在用户断开连接后是否接收消息推送。
提示
IMKit SDK 在前后台切换或者网络出现异常都会自动重连,会保证连接的可靠性。除非 App 逻辑需要登出,否则不需要调用此方法进行手动断开。
断开连接(允许推送)
主动断开与融云服务端的 IM 连接,并设置断开连接后允许融云服务端进行远程推送。
Java
IMCenter.getInstance().disconnect();
如果融云服务端发现 App 客户端不在线(默认要求全部设备已下线),在接收新消息时,融云服务端会为该用户记录一条离线消息?,并触发融云服务端的推送服务。融云服务端会通过推送通道下发一条提醒到客户端 SDK。该提醒一般以通知形式展示在通知面板,提示用户有离线消息。
断开连接(不允许推送)
主动断开与融云服务端的 IM 连接,并设置断开连接后不允许融云服务端进行远程推送。
需要注销登录(登出)或切换 App 用户账号时,推荐使用以下方法:
Java
IMCenter.getInstance().logout();
断开连接且不允许推送的情况下,融云服务端仅记录离线消息,但不会为当前设备触发推送服务。如果用户登录了多个设备,则在其他设备中最后一个登录的设备上可正常接收推送。在多设备场景下,App 可能需要保证设备间消息记录一致,可通过开启多设备消息同步实现。详见多设备消息同步。