产品 / 插件:即时通讯
平台 / 框架:iOS / Android / macOS / Windows / Web / 小程序 / Flutter / React Native / uni-app / Unity3D
更新时间:2022-11-15 18:26
ZIM SDK 支持断线重连机制。本文将介绍 ZIM SDK 在什么情况下会出现断线的情况,以及如何处理这些异常。
建议开发者在真机上进行相关调试。
如果用户的机器出现弱网或断网的情况,SDK 内部会主动触发重连,此时会通过 onConnectionStateChanged
回调出 RECONNECTING
的 state
及 LOGIN_INTERRUPTED
的event
,重连时间为 5 分钟。
在重试的 5 分钟内不需要额外处理,SDK 内部会自动尝试重连。
onConnectionStateChanged
回调出 CONNECTED
的state
及SUCCESS
的 event
。onConnectionStateChanged
回调出 DISCONNECTED
的 state
及 LOGIN_TIMEOUT
的event
并且此时调用其他接口都会报错,且错误码为 6000121,表示“未登录”。 如果 5 分钟依然重连不上,则需要用户重新调用 login
接口进行登录。
目前 ZIM 不允许多端同时登录,如果有其他端登录了本端已登录的帐号(userID),则会把本端挤下线,本端会出现断线的情况,并且 SDK 不会主动触发重连。
此时将通过 onConnectionStateChanged
回调出 DISCONNECTED
的 state
及 KICKED_OUT
的 event
,并且调用其他接口都会报错,且错误码为 6000121,表示“未登录”。
SDK 不会自动重连,所以需要用户重新调用 login
接口进行登录。
如果 AppID 配置了 Token 鉴权,则在 Token 快过期时,会通过 onTokenWillExprie
进行回调。
renewToken
接口向 SDK 传入新的 Token ,以保证 Token 正常使用。onConnectionStateChanged
回调出DISCONNECTED
的 state
,并且调用其他接口都会报错,且错误码为 6000121,表示“未登录”。 SDK 不会自动重连,所以需要用户重新调用 login
接口进行登录。
联系我们
文档反馈