Docs
Resources
Tools
News
to top

RCS

SDK 自动重连

SDK 包含自动重连机制,第一次自动重连在登录失败2秒后发起,之后每次乘2,最多不超过120秒。

启动SDK 自动重连需要初始化SDK 自动重连插件:

String appName = “JusRCS”;
MtcCliHelper.initialize(applicationContext, appName);

1. 首次登录必须由界面发起

发起登录时SDK 会通知 reg state 为 MTC_REG_STATE_REGING

  • 若第一次登录时没有网络(推荐无网络时不调用登录),登陆失败时 SDK 会通知 reg state 为 MTC_REG_STATE_IDLE,state code 为 MTC_CLI_REG_ERR_NETWORK。此时SDK 不发起重新登录。
  • 若第一次登录时,由于用户名或密码错误登录失败,SDK 会通知 reg state 为 MTC_REG_STATE_IDL,state code为 MTC_CLI_REG_ERR_AUTH_FAILED, MTC_CLI_REG_ERR_INVALID_USER或者 MTC_CLI_REG_ERR_SRV_FORBIDDEN,SDK 不发起重新登录。
  • 登录成功 SDK 通知 reg state 为 MTC_REG_STATE_REGED。
  • 其它情况下第一次登陆失败,SDK 会通知 reg state 为 MTC_REG_STATE_IDLE,SDK 根据策略再次发起登录。

2. 网络切换

切换过程中SDK 会先通知 reg state 为 MTC_REG_STATE_IDLE, state code 为 MTC_CLI_REG_ERR_NETWORK。

  • 登录成功的情况下,网络从可用切换到不可用,此时 SDK 不发起重新登录。
  • 登录成功的情况下,网络切换后仍可用,SDK 发起刷新注册,SDK 会通知 reg state 为 MTC_REG_STATE_REGING。
    • 注册成功后SDK 会先通知 reg state 为 MTC_REG_STATE_REGED。
    • 注册失败后 SDK 会通知reg state 为 MTC_REG_STATE_IDLE, state code 为 MTC_CLI_REG_ERR_TIMEOUT 。SDK 根据策略再次发起登录。
  • 网络从不可用切换到可用
    • 曾经登录成功,后主动注销或被服务器注销,SDK 不会发起重新登录。
    • 若曾发起登录,没有主动注销或被服务器注销,SDK 会根据策略发起重登录,SDK 会通知 reg state 为 MTC_REG_STATE_REGING,注册成功后通知 reg state 为 MTC_REG_STATE_REGED。

3. 登录成功后,账号在其他设备登录

  • SDK 通知 reg state 为 MTC_REG_STATE_IDLE,state code 为 MTC_CLI_REG_ERR_DEACTED。

4. 注销成功后,SDK 关闭定时器,不再尝试重新登录。

Juphoon © 2015 中文(简体)
关于我们 JusTalk 开发人员 招聘 隐私政策