设备控制面板
更新时间:2019-03-14 16:21:54
概述
本章介绍“设备控制页”的使用场景、新建、如何被移动应用所使用等内容。
名词解释
设备控制面板
是Android、iOS上,用于控制设备的页面。
与其他类型页面的区别
与唯一的产品(Product Key)关联
- 其他类型的页面,可以关联多个产品、也可以不关联任何设备;
- 即:该类型页面,只能控制关联产品下的设备
不与具体的物理设备(设备三元组)发生关联
- 其他类型的页面中,组件的数据源为设备时,需明确指定设备的三元组
- 该类型页面中,组件的数据源为设备时,仅指定Product Key,不允许设置Device Name
打开该类型页面时,移动应用的用户需要先登陆、并传入具体的设备Product Key、Device Name
- 打开其他类型页面时,传入参数由页面开发者决定。
该类型页面,可以被任何任集成了“设备控制”功能的Anroid、iOS移动应用中,被使用
使用场景
通过与其他页面的区别可以看出,设备控制面板适用于
在多个移动应用中复用,同一个设备控制页面;
设备控制面板的开发者,与移动应用的开发者,是不同的团队/公司
- 设备面板的开发者,仅负责设备面板的开发
- 移动应用的其他部分,由移动应用的所有者自定义开发。
运行环境
设备控制面板,需要在集成了以下SDK的Android、iOS移动应用中使用。
这些SDK可以从 SDK集成开发 中获取到。
SDK名称 | 说明 | |
---|---|---|
基础 | API 通道 | IoT 官方服务的 API 通道。 基于 HTTP 协议,并通过整合安全组件来提升通道的安全性。 |
账号SDK | 提供账号能力, 包括注册、登录、获取账号、会话管理、人机校验、UI定制, 以及基于 iotToken的用户身份认证功能。 |
|
设备控制页 | BoneMobile 容器 | 提供了加载插件的功能。 如果您需要开发或者使用插件,则需要在 App 中集成 BoneMobile 容器 SDK。 |
设备控制面板的可视化搭建
新建设备控制面板
在完成“新建移动配置”后,在移动配置的详情中,如下图点击“新增”后输入页面名称,即可开始可视化搭建过程。
设备面板的可视化开发,与移动应用的可视化开发十分相近,可参考详细文档
构建设备控制面板
发布设备控制面板
构建完成后,在“构建”弹窗中可点击“发布到线上”、或在“设置 - 构建管理”中点击“发布到上线”,
就可完成。
设定设备控制面板
发布完成后,需要在“产品配置页”中,为产品指定使用哪一个设备控制面板。
注:只有最新构建版本的发布状态,为“已发布”的设备面板,才能够被选择。
设备控制面板的使用
在“IoT Studio - 移动可视化开发”中使用
若移动应用的构建选择“自己玩一玩”,则应用中会加载最新版本的页面。
例:加载下图中的2.0.0版本
若移动应用的构建选择“发布到应用市场”,则应用会加载“发布状态”为“已发布”的页面版本。
例:加载下图中的1.0.0版本
在“IoT Studio - SDK集成开发”中使用
因SDK集成开发中使用较为复杂,当前尚未支持。
计划在2019.3月底,在“SDK集成开发”中提供相关SDK的下载。
设备控制面板URL格式说明
构建完成页面、和设置中,可以看到构建版本的URL。
URL的格式为:http://host/pluginid/pluginID的具体值/版本ID
以 http://plugin.daily.vapp.cloudhost.link/pluginid/a126gvxTtOsUVPI6/a125ntvPWLKyvZkU 为例
plugin id值是:a126gvxTtOsUVPI6
版本ID是:a125ntvPWLKyvZkU
URL生效规则
Android、iOS移动应用代码里使用有,
若带有“版本ID”,则SDK会直接加载该版本;
若不带有“版ID”,则SDK会根据SDK中环境变量加载不同的页面版本
- 若环境变量为TEST,则会加载最新版本的页面。例:加载下图中的2.0.0版本
- 若环境变量为Release,则会加载“发布状态”为“已发布”的页面版本。例:加载下图中的1.0.0版本
根据产品Product Key获取设备面板URL
通过服务端API“queryUrlByProductKey”,可获取“设定设备控制面板”章节中,设置的设备面板。
接口地址:/app/mobile/device/router
接口版本:1.0.0
接口入参:
参数名称 | 参数描述 | 必选 | 备注 |
---|---|---|---|
productKey | 产品的唯一标识符 | YES | |
pluginEnv | 插件环境 | YES | 取值范围:“test”,“release” |
接口出参:
{
"code": 200,
"data": {
"bone-aep-hybrid": "http://plugin.vapp.cloudhost.com/pluginid/a12659O2McRfNN08", // H5面板的路由
"bone-aep-rn": "link://router/a1fZUiUfrKD" // RN 面板的路由
},
"success": true,
"description": "请求成功",
"message": "success",
"class": "com.aliyun.iotx.common.base.service.IoTxResult"
}
备注
调用该API时需要使用“API通道功能 ”