说明:
设备登录是使用 TRRO 服务的前提步骤。只有完成初始化登录,SDK 才能正常工作。可通过 init 接口完成登录,通过 destroy 接口退出登录。
初始化登录
SDK 通过 init 接口完成与服务的初始化登录。
注意:
同一时刻相同 ID 的设备仅有一个可保持登录状态,其他设备会被系统剔除登录。
SDK 提供强制登录和非强制登录两种登录方式,客户可通过配置文件或 init 接口中 JSON 字符串的 force_login 字段来指示使用何种方式进行登录。
字段 | 说明 | 缺省值 | 值说明 |
force_login | 是否强制登录 | 0 | 0:非强制登录,若已有相同 ID 设备登录,当前设备登录会被剔除 1:强制登录,若已有相同 ID 设备登录,之前同 ID 的设备登录会被剔除 |
登录连接状态监听
SDK 提供信令状态回调接口,用于监听与信令服务的登录连接状态。
/*** @name TRRO_registerSignalStateCallback* @brief 注册信令服务连接状态回调* @param[in] context 上下文* @param[in] callback 回调函数* @return 1 for success, other failed*/extern "C" TRRO_EXPORT int TRRO_registerSignalStateCallback(void *context, TRRO_onSignalState *callback);/*** @name TRRO_onSignalState* @brief 信令连接状态回调* @param[in] context 上下文* @param[in] state 信令连接状态,参考枚举SignalState* @return void*/typedef void TRRO_onSignalState(void *context, SignalState state);/*** SignalState 信令连接状态枚举*/enum SignalState {kTrroReady = 0, /**< 连接建立成功 */kTrroLost = 1, /**< 连接断开,内部会进行自动重连 */kTrroReup = 2, /**< 自动重连成功 */kTrroKickout = 3,kTrroAuthFailed = 4, /**< 用户名或者密码错误 */};
回调状态 | 说明 |
kTrroReady | 初始化登录成功。 |
kTrroLost | 登录断开,SDK 会自动尝试重新登录。 |
kTrroReup | 自动重连登录成功。 |
kTrroKickout | 设备登录被剔除,剔除后 SDK 会自动 destroy 退出登录。 |
kTrroAuthFailed | 登录认证错误。 |
登录退出
SDK 通过 destory 接口主动退出登录。建议不使用 SDK 阶段,可主动调用 destroy 接口,节省系统资源。
注意:
退出登录后,SDK 资源会被释放,接口功能无法再使用。要再次使用 SDK,可重新调用 init 接口初始化登录。