创建引导

最近更新时间:2024-09-23 10:22:21

我的收藏

准备工作

注册 腾讯云账号 并完成 实名验证
进入 物联网开发平台控制台 > 应用开发获取目标应用的 App Key 和 App Secret。
注意:
签名算法务必在服务端实现,腾讯连连 App 开源版的使用方式仅为演示,登录鉴权请参考 自建服务

iOS 安装环境

集成 SDK 方式。 执行如下命令采用 Cocoapods 方式集成。
pod TIoTLinkKit
手动集成。 将 LinkCore 目录拖入到工程中。

Android 安装环境

安装 Android Studio 开发工具
集成 SDK 方式
依赖 maven 远程构建
implementation 'com.tencent.iot.explorer:explorer-link-android:1.0.0'
依赖本地 SDK 源码 构建 修改应用模块的 build.gradle,使应用模块依赖 SDK 源码,示例如下:
implementation project(path: ':sdk')

使用说明

1. 导入配置,初始化 SDK。
iOS
Android
参考 Source/LinkSDKDemo/Supporting Files/AppDelegate.m 文件,并配置物联网开发平台申请的 App Key 和 App Secret
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*
* 此处仅供参考, 需自建服务接入物联网平台服务,以免 App Secret 泄露
* 自建服务可参考此处 https://cloud.tencent.com/document/product/1081/67504#e4359606-62fe-4f83-bb7e-576eadce8aef
*/
TIoTCoreAppEnvironment *environment = [TIoTCoreAppEnvironment shareEnvironment];
[environment setEnvironment];
environment.appKey = @"物联网开发平台申请的 App Key";
environment.appSecret = @"物联网开发平台申请的 App Secret";
self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[UIViewController new]];
return YES;
}
选择 sdkdemo/src/main/java/com/tencent/iot/explorer/link/core/demo/App.java,配置 App key。
class App : Application() {
companion object {
val data = AppData.instance
}
private val APP_KEY = "物联网开发平台申请的 App Key"
private val APP_SECRET = "物联网开发平台申请的 App Secret"
override fun onCreate() {
super.onCreate()
/*
* 此处仅供参考, 需自建服务接入物联网平台服务,以免 App Secret 泄露
* 自建服务可参考此处 https://cloud.tencent.com/document/product/1081/67504#e4359606-62fe-4f83-bb7e-576eadce8aef
*/
IoTAuth.openLog(true)
IoTAuth.init(APP_KEY, APP_SECRET)
}
override fun onTerminate() {
super.onTerminate()
}
}
2. App SDK 功能划分说明
iOS
iOS 对应模块
实现相关功能
QCDeviceCenter
配网模块。
QCAPISets
设备控制、消息相关、家庭管理、账户管理等 API。
QCFoundation
工具类。
Android
Android 子模块
实现相关功能
link
配网模块。
auth
设备控制、消息相关、家庭管理、账户管理等 API。
utils
工具类。
log
日志模块。
3. 账户相关接口,包含手机号、邮箱注册,登入登出,密码操作,用户信息操作。账户详细接口请参考 官方文档, 或者 App SDK 文件中 iOS 文件 (TIoTCoreAccountSet.h)Android 文件( IoTAuth.kt)
注意:
此处仅为 Demo 演示功能,请遵从官方建议自建账户后台服务后,由自建服务接入物联网平台服务,以免 App Secret 泄露
4. 详细功能请参考 App SDK 接入指南

自建服务

搭建后台服务,将 App API 调用由设备端发起切换为由自建后台服务发起。
关于应用端 API,请参见 应用端 API 简介
注意:
登录前所使用的 API URL 为 https://iot.cloud.tencent.com/api/exploreropen/appapi,不建议在设备端调用,需要替换为自建的后台服务,以避免密钥的泄漏。
api/studioapp/* 为公版 App 专用,OEM 的 App 使用的是应用端 API(api/exploreropen/),当在 App 参数写入配置文件中配置 TencentIotLinkAppkey 后, api/studioapp 调用将自动切换为应用端 API 调用。
App API (api/exploreropen/appapi)请在自建后台进行调用,Token API(api/exploreropen/tokenapi)可安全在设备端调用。
iOS 版本 可通过 TIoTAppEnvironment.m 的 selectEnvironmentType 方法中设置此 API 。 登录前所使用的 API URLenvironment.oemAppApi 配置,请务必替换成自建的后台服务地址。
- (void)selectEnvironmentType {
TIoTAppConfigModel *model = [TIoTAppConfig loadLocalConfigList];
TIoTCoreAppEnvironment *environment = [TIoTCoreAppEnvironment shareEnvironment];
[environment setEnvironment];
environment.appKey = model.TencentIotLinkAppkey;
environment.appSecret = model.TencentIotLinkAppSecret;
// 请在 [environment setEnvironment]; 之后设置 oemAppApi 以免被覆盖。
environment.oemAppApi = @"需要替换为自建后台服务地址";
}
TIoTCoreAppEnvironment.m 的 setEnvironment方法中默认 API 配置说明。
- (void)setEnvironment {

//公版&开源体验版使用 当在 app-config.json 中配置 TencentIotLinkAppkey TencentIotLinkAppSecret 后,将自动切换为 OEM 版本。
self.studioBaseUrl = @"https://iot.cloud.tencent.com/api/studioapp";
self.studioBaseUrlForLogined = @"https://iot.cloud.tencent.com/api/studioapp/tokenapi";
//OEM App 使用
self.oemAppApi = @"https://iot.cloud.tencent.com/api/exploreropen/appapi"; // 需要在 TIoTAppEnvironment.m 的 -selectEnvironmentType: 中替换为自建后台服务地址。
self.oemTokenApi = @"https://iot.cloud.tencent.com/api/exploreropen/tokenapi"; // 可安全在设备端调用。
self.wsUrl = @"wss://iot.cloud.tencent.com/ws/explorer";
self.h5Url = @"https://iot.cloud.tencent.com/explorer-h5";
}
Android 版本 可通过 HttpRequest 中设置 API 。 登录前所使用的 API URLOEM_APP_API 配置,请务必替换成自建的后台服务地址。
/*
接口请求文件
*/
class HttpRequest private constructor() {
companion object {
// 公版&开源体验版使用 当在 app-config.json 中配置 TencentIotLinkAppkey TencentIotLinkAppSecret 后,将自动切换为 OEM 版本。
const val STUDIO_BASE_URL = "https://iot.cloud.tencent.com/api/studioapp"
const val STUDIO_BASE_URL_FOR_LOGINED = "https://iot.cloud.tencent.com/api/studioapp/tokenapi"
// OEM App 使用
const val OEM_APP_API = "https://iot.cloud.tencent.com/api/exploreropen/appapi" // 需要替换为自建后台服务地址
const val OEM_TOKEN_API = "https://iot.cloud.tencent.com/api/exploreropen/tokenapi" // 可安全在设备端调用。
const val APP_COS_AUTH = "https://iot.cloud.tencent.com/api/studioapp/AppCosAuth"
const val BUSI_APP = "studioapp"
const val BUSI_OPENSOURCE = "studioappOpensource"
}
}