APP确认升级的使用场景
对于家居类及个人消费电子类的物联设备,基于用户体验的考虑,生产企业一般会为消费者提供通过手机APP进行确认升级的功能,典型的使用场景是通过手机APP对手环进行升级,如下图所示。本文主要介绍APP确认升级的基本流程,及如何基于阿里云IoT平台的OTA实现APP确认升级。
APP确认升级流程
阿里云IoT平台为租户提供了APP确认升级的产品能力,租户通过自己的云平台对接OTA相关的开放接口即可实现APP确认升级的功能。
升级流程如下图所示:
整个流程中涉及4个相关角色,阿里云IoT平台、租户云平台、消费者手机app、消费者设备。
流程说明:
1、发起需要app确认的升级任务
通过创建批次任务的开放接口(CreateOTAStaticUpgradeJob,CreateOTADynamicUpgradeJob)
,或者通过阿里云IoT物联网平台的控制台页面发起待APP确认的批次升级任务。
- 通过开放接口创建时注意设置NeedConfirm参数为true
- 通过控制台页面创建批次任务时注意选择"APP确认升级"为"是",如下图所示:
- 在发起批次升级任务前,需要上传并验证升级包,请参考阿里云IoT平台 OTA的相关文档。
2、租户云平台查询设备是否有待确认的升级任务
待用户APP发起请求查看指定设备是否有待确认的升级任务时,租户云平台需要通过开放接口ListOTAUnfinishedTaskByDevice查询
阿里云IoT平台不支持消费者用户身份,消费者app无法直接进行与阿里云IoT平台通信。这一步需要通过租户的云平台中转后调用接口实现,注意需要设置设备身份信息(ProductKey+DeviceName或者IotId),设置TaskStatus参数为CONFIRM。
3、在消费者用户手机端app上显示待升级信息
若是有待确认的升级,租户云平台可以按自己的业务诉求返回给用户相关的升级说明信息。
4、消费者在手机APP端确认升级
消费者在APP上查看后确认进行升级,租户云平台调用开放接口ConfirmOTATask进行升级任务确认。
6、设备收到升级通知进行升级
确认后,阿里云IoT平台会将升级信息推送给设备(若批次任务创建时"云端主动推送"选择的是"否",则需要设备主动拉取);设备下载升级包后进入升级过程,升级过程中上报升级进度,升级成功后上报新的版本号。
- 设备监听升级通知推送、主动拉取升级信息、上报进度、上报版本号相关topic及数据格式参考阿里云IoT平台官方文档 设备端OTA升级
- 批次任务创建时选项"云端主动推送"参考创建批次任务的开放接口(CreateOTAStaticUpgradeJob,CreateOTADynamicUpgradeJob)的说明文档
设备确认升级的扩展说明
上述内容主要讲述了基于阿里云IoT平台OTA产品进行APP确认升级的流程。确认升级从是否在设备端进行确认的角度考虑可以分为两大类:
- 设备端进行确认升级
- 非设备端进行确认升级(消费者端APP确认升级是其中一种模式)
其区别如下:
设备端确认升级 |
非设备端确认升级 |
|
确认端 |
在接入IoT平台的设备端的显示屏进行确认升级 |
通过有别于阿里云IoT平台、联网设备端的第三方进行确认升级 |
适用设备范围 |
有显示屏,可操作的设备 |
可升级的所有类型的设备 |
适用业务场景 |
设备的最终适用用户进行确认升级 |
|
设备端升级任务可见时机 |
在升级任务创建并推送至设备后 |
在第三方确认后 |
是否需要云端支持 |
不需要云端的确认升级能力 |
需要云端的确认升级能力 |
是否需要租户云平台开发 |
可以不需要租户的云平台系统,仅通过阿里云IoT平台的OTA控制台页面及设备端对接即可实现。 |
需要租户在其平台系统进行第三方确认相关业务链路的开发 |
典型案例 |
手机软件升级 |
手环OTA升级 |