SDK 和 ar云平台 RTM 系统的连接状态

最近更新时间:2022-09-20 05:17:40

typedef NS_ENUM(NSInteger, ARtmConnectionState) {
    
    /**
     1: 初始状态。SDK 未连接到 ar云平台 RTM 系统。

     App 调用 loginByToken 方法后,SDK 开始登录 ar云平台 RTM 系统,触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnecting 。
     */
    ARtmConnectionStateDisconnected = 1,
    
    /**
    2: SDK 正在登录 ar云平台 RTM 系统。
     * 如果 SDK 登录成功,会触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnected 。
     * 如果 SDK 登录失败,会触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateDisconnected 。
     */
    ARtmConnectionStateConnecting = 2,
    
    /**
     3: SDK 已登录 ar云平台 RTM 系统。
     * 如果 SDK 由于网络原因断开与 ar云平台 RTM 系统的连接,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateReconnecting 。
     * 如果 SDK 由于重复登录而被服务器踢出,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateAborted 。
     * 如果 App 调用 logoutWithCompletion 方法成功登出系统,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateDisConnected 。
    */
    ARtmConnectionStateConnected = 3,

    /**
     4: SDK 与 ar云平台 RTM 系统连接由于网络原因出现中断,SDK 正在尝试自动重连 ar云平台 RTM 系统。

     * 如果 SDK 登录成功,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnected 。SDK 会自动加入中断时用户所在频道,并自动将本地用户属性同步到服务端。
     * 如果 SDK 登录失败,SDK 会保持 ARtmConnectionStateReConnecting 状态,继续自动重连。
     */
    ARtmConnectionStateReconnecting = 4,
    
    /**
     5: SDK 放弃登录 ar云平台 RTM 系统。

     可能原因:另一实例已经以同一用户 ID 登录 ar云平台 RTM 系统。

     在此之后,SDK 需要调用 logoutWithCompletion 方法退出登录,再视情况调用 loginByToken 方法重新登录系统。
     */
    ARtmConnectionStateAborted = 5,
};