一、开通服务
在使用 IoT 设备端 SDK 前,你需要前往控制台,创建产品并在产品下创建设备。具体步骤参见 开通服务。
开通服务后,请记录以下设备三元组信息,在后续 登录 步骤中会用到:
·ProductId(产品 ID)
·DeviceName(设备名称)
·DeviceSecret(设备密钥)
注意:设备三元组是设备登录平台的唯一身份凭证,请妥善保管 DeviceSecret,避免硬编码提交到公共代码仓库。
二、环境准备
·Android Studio 3.5 及以上版本。
·最低兼容 Android 5.0(SDK API Level 21)及以上。
三、创建项目
参考以下步骤创建一个新的 Android 项目。如果已有项目,可跳过本节。
1. 打开 Android Studio,选择 New Project(新建项目)。
2. 选择 Empty Views Activity 模板,单击 Next。
3. 在 Configure your project 页面配置:
·Language 选择 Java。
·Minimum SDK 选择 Android 5.0(API 21)及以上。
·Build configuration language 选择 Groovy DSL (build.gradle)。
四、集成 SDK
1. 在 app/build.gradle(非根目录的 build.gradle)的 dependencies 中添加 TRTC SDK 以及 IoT SDK 依赖:
dependencies { //TRTC SDK implementation 'com.tencent.liteav:LiteAVSDK_TRTC:latest.release' // 物联网设备端 SDK implementation 'com.tencent.liteav.iot:tx-iot-device:latest.release'}
2. 完成配置后,在 Android Studio 工具栏单击 Sync Now,SDK 将自动下载并集成到工程中。出现 Build successful 即表示成功。
五、步骤 1:初始化 SDK
调用 TXIoTDeviceEngine.getInstance 获取 SDK 实例,并通过 TXIoTDeviceEngine.initSDK 初始化,以及注册日志回调和设备状态推送监听。
| 参数 | 类型 | 说明 |
| storagePath | String | 本地持久化目录;可为 NULL;非空时长度须合法(实现侧上限约 256)。 |
| logLevel | TXIoTDeviceEngine.LogLevel | 日志级别。 |
| region | String | 地域。 |
TXIoTDeviceEngine ioTDeviceEngine = TXIoTDeviceEngine.getInstance(getApplicationContext());ioTDeviceEngine.addListener(new TXIoTDeviceEngine.Listener() { @Override public void onLog(TXIoTDeviceEngine.LogLevel level, String log) { Log.d(TAG, "onLog: level = " + level + ", log = " + log); } @Override public void onDeviceStateChanged(TXIoTDeviceEngine.DeviceState oldState, TXIoTDeviceEngine.DeviceState newState) { Log.d(TAG, "onDeviceStateChanged: oldState = " + oldState + ", newState = " + newState); }});//初始化 SDKTXIoTDeviceEngine.Config config = new TXIoTDeviceEngine.Config();config.storagePath = "file_path";config.logLevel = TXIoTDeviceEngine.LogLevel.INFO;config.region = "china";//国内取值为china,国外取值为us-east、europe、ap-bangkokioTDeviceEngine.initSDK(config);
六、步骤 2:登录
调用 TXIoTDeviceEngine.login 完成鉴权并登录,并通过回调监听登录结果。
| 参数 | 类型 | 说明 |
| productId | String | 产品 ID。 |
| deviceId | String | 设备名称,即 DeviceName。 |
| deviceSecret | String | 设备密钥。 |
TXIoTDeviceEngine.DeviceInfo deviceInfo = new TXIoTDeviceEngine.DeviceInfo();deviceInfo.productId = "PRODUCT_ID";deviceInfo.deviceId = "DEVICE_NAME"; deviceInfo.deviceSecret = "DEVICE_SECRET";ioTDeviceEngine.login(deviceInfo, new TXIoTCallback() { @Override public void onSuccess() { //登录成功 } @Override public void onError(int code, String desc) { //登录失败 }});
七、常见问题
| 现象 | 排查建议 |
| login 长时间无回调 / 超时 | 检查设备三元组是否正确、网络是否可达、本机系统时间是否准确。 |
八、联系我们
如果你在接入或使用过程中有任何疑问或者建议,欢迎 联系我们 提交反馈。