概述
TXIoTEngine 是整个 SDK 的入口,通过全局函数 getIoTEngineInstance() 获取单例,使用前须先调用 login 完成身份验证。说明:
线程模型:SDK 接口可在任意线程调用;回调均在主线程(UI 线程)触发,调用方可在回调中直接操作 UI。
SDK 模块总览:
模块 | 说明 |
登录、获取各个业务对象。 | |
家庭、房间、成员管理。 | |
设备绑定/解绑、分享、指令下发、属性查询。 | |
音视频通话。 | |
监控直播(拉流/对讲/云台/截图/录像)。 | |
设备云端录像的日期与事件查询。 | |
错误码、通用枚举、公共数据结构、回调接口。 |
方法列表
方法签名 | 描述 |
getIoTEngineInstance | 获取 TXIoTEngine 单例(全局函数)。 |
addListener | 添加引擎事件监听器。 |
removeListener | 移除引擎事件监听器。 |
login | 登录 SDK(异步)。 |
logout | 登出 SDK。 |
getLoginUserInfo | 获取当前登录用户信息。 |
setUserProfile | 设置当前登录用户的昵称与头像。 |
getFamilyManager | 获取家庭管理器,未登录时返回 null。 |
getDeviceManager | 获取设备管理器,未登录时返回 null。 |
getCallSession | 获取音视频通话会话,未登录时返回 null。 |
getMonitorSession | 获取实时监控会话,未登录时返回 null。 |
getCloudStorage | 获取指定设备的云存功能模块。 |
getIoTEngineInstance
getIoTEngineInstance
getIoTEngineInstance | (context?: Context): TXIoTEngine |
获取 TXIoTEngine 单例(全局函数)
参数 | 描述 |
context | Context;Ability 上下文,可选。传入后 SDK 内部初始化时使用。 |
返回值 | 描述 |
TXIoTEngine | 返回 TXIoTEngine 单例实例。 |
addListener
addListener
addListener | (listener: TXIoTEngineListener): void |
添加引擎事件监听器
参数 | 描述 |
listener | TXIoTEngineListener;监听器实例。 |
removeListener
removeListener
removeListener | (listener: TXIoTEngineListener): void |
移除引擎事件监听器
参数 | 描述 |
listener | TXIoTEngineListener;监听器实例。 |
login
login
login | (appKey: string, userId: string, userSignature: TXIoTUserSignature, region: TXIoTRegion): void |
登录 SDK(异步)
参数 | 描述 |
appKey | string;应用 Key。 |
userId | string;用户 ID。 |
userSignature | TXIoTUserSignature;用户身份签名(含 requestId / timestamp / nonce / signature)。 |
region | TXIoTRegion;服务区域,见 TXIoTRegion。境内使用 DEFAULT,海外使用 OVERSEAS。 |
注意:
仅含 appKey、userId、userSignature 三个参数的旧版
login 已废弃,请使用带 region 参数的版本。logout
logout
logout | (): void |
登出 SDK
getLoginUserInfo
getLoginUserInfo
getLoginUserInfo | (): TXIoTUserInfo | null |
获取当前登录用户信息
返回值 | 描述 |
TXIoTUserInfo | 返回 TXIoTUserInfo 对象;未登录时返回 null。 |
setUserProfile
setUserProfile
setUserProfile | (nickName: string, avatarUrl: string, callback: TXIoTCallback<void>): void |
设置当前登录用户的昵称与头像
参数 | 描述 |
nickName | string;用户昵称。 |
avatarUrl | string;用户头像 URL。 |
callback | TXIoTCallback<void>;异步回调,通过 onSuccess / onError 通知结果。 |
getFamilyManager
getFamilyManager
getFamilyManager | (): TXIoTFamilyManager | null |
获取家庭管理器(登录后可用)
返回值 | 描述 |
TXIoTFamilyManager |
getDeviceManager
getDeviceManager
getDeviceManager | (): TXIoTDeviceManager | null |
获取设备管理器(登录后可用)
返回值 | 描述 |
TXIoTDeviceManager |
getCallSession
getCallSession
getCallSession | (): TXIoTCallSession | null |
获取音视频通话会话(登录后可用)
返回值 | 描述 |
TXIoTCallSession |
getMonitorSession
getMonitorSession
getMonitorSession | (): TXIoTMonitorSession | null |
获取实时监控会话(登录后可用)
返回值 | 描述 |
TXIoTMonitorSession |
getCloudStorage
getCloudStorage
getCloudStorage | (deviceId: TXIoTDeviceId): TXIoTCloudStorage | null |
获取指定设备的云存功能模块
参数 | 描述 |
deviceId |
返回值 | 描述 |
TXIoTCloudStorage |
引擎事件回调
TXIoTEngineListener 为 ArkTS 接口,所有回调方法均为可选,调用方可按需实现。TXIoTEngineListener
回调方法 | 说明 |
onLoginSuccess() | 登录成功。登录成功后各业务模块 getter 生效。 |
onLoginFailure(errCode: TXIoTErrorCode, errMsg: string) | 登录失败。errCode 为错误码,errMsg 为错误描述。 |
onLogout() | 登出完成。各业务模块 getter 失效。 |
onUserSignatureExpired() | 用户签名已过期,需重新获取签名后调用 login。 |
onReceivePushMessage(pushMessage: TXIoTPushMessage) | 收到服务器推送消息,包含设备上下线等状态变更通知。 |
引擎相关数据结构与枚举
TXIoTPushMessage
TXIoTPushMessage
设备推送消息,包含消息时间、类型和关联设备
字段 | 说明 |
messageTime | 消息时间戳。 |
type | 消息类型,见 TXIoTPushMessageType。 |
subType | 消息子类型,见 TXIoTPushMessageSubType。 |
deviceId | 关联的设备 ID。 |
TXIoTPushMessageType
TXIoTPushMessageType
枚举 | 说明 |
STATUS_CHANGE | 设备状态变更。 |
TXIoTPushMessageSubType
TXIoTPushMessageSubType
枚举 | 说明 |
ONLINE | 设备上线。 |
OFFLINE | 设备离线。 |
TXIoTUserSignature
TXIoTUserSignature
字段 | 说明 |
requestId | 请求 ID,由服务端签发。 |
timestamp | 签名的 Unix 秒级时间戳。 |
nonce | 签名随机数。 |
signature | 签名字符串,由服务端签发。 |
TXIoTRegion
TXIoTRegion
服务区域枚举,登录时通过
login 的 region 参数指定枚举 | 说明 |
DEFAULT | 默认区域(中国境内)。 |
OVERSEAS | 海外区域。 |