添加 SDK 后,要将升级检测接入鸿蒙客户端,还需完成以下步骤:
检测新版本:在代码中调用 SDK 接口方法检查是否有新版本可升级。
配置灰度白名单:设置更新提示、灰度等选项。
线上发布:打包生成
.app
安装文件,并发布新版本。
检测新版本
升级检测 SDK,提供能够检查应用是否可更新的接口文件,代码如下:
export enum AliUpdateTypeEnum {
AliUpgradeNewVersion = 201, /*当前使用的已是最新版本*/
AliUpgradeOneTime = 202, /*客户端已有新版本,单次提醒*/
AliUpgradeForceUpdate = 203, /*客户端已有新版本,强制升级(已废弃)*/
AliUpgradeEveryTime = 204, /*客户端已有新版本,多次提醒*/
AliUpgradeRejectLogin = 205, /*限制登录(已废弃)*/
AliUpgradeForceUpdateWithLogin = 206 /*客户端已有新版本,强制升级*/
}
interface upgradeRes{
resultStatus:AliUpdateTypeEnum, // 升级类型
memo:string, //
downloadURL:string, // 新包下载地址
newestVersion:string, // 新包的版本号
guideMemo:string, // 新包更新描述信息
fullMd5:string, // 新包的MD5
fileSize:string, // 新包的size
upgradeVersion:string, // 新包的版本号
netType:string, // 此次请求的网络类型
userId:string, // 此次请求的userID
error:Error
}
export default class MPUpgradeService {
/**
* 单次提醒时的时间间隔,单位为天,默认为3
*/
public static defaultUpdateInterval:number=3
/**
* 主动检查是否有更新,返回更新接口的rpc请求结果
*/
public static async checkNewVersion():Promise<upgradeRes|null>
/**
* 主动检查是否有更新,如有新版本直接弹框提示
*/
public static checkNewVersionAndShow()
}
开发者可在应用启动完成后,调用相应接口检查应用是否可更新。建议在首页出现后调用,以免影响 App 启动速度。根据是否自动弹框展示升级提示信息,为您提供以下两种调用方式:
使用 mPaaS 默认弹框展示升级提示信息。代码如下:
import {MPUpgradeService} from '@mpaas/upgrade' MPUpgradeService.checkNewVersionAndShow()
若 mPaaS 提供的弹框样式不满足您的需求,可调用以下接口获取升级信息,自定义 UI 进行展示:
import {MPUpgradeService} from '@mpaas/upgrade' MPUpgradeService.checkNewVersion().then((response)=>{ let str = JSON.stringify(response) AlertDialog.show( { title: '升级检测结果', message: str, autoCancel: true, offset: { dx: 0, dy: -20 }, gridCount: 3, confirm: { value: '确认', action: () => { console.info('upgrade result',response) } }, cancel: () => { console.info('Closed callbacks') } } ) }) })
配置灰度白名单
要使用发布管理中的白名单灰度功能,请确保服务端已获取客户端的唯一标识。客户端需要在调用升级检测接口前,调用框架的接口设置用户的唯一标识,根据应用实际情况,在 userId
方法中返回 App 的唯一标识,例如用户名、手机号、邮箱等。
MPFramework.instance.userId = 'hexi'
mPaaS 控制台配置白名单的具体步骤,请查看 白名单管理。
线上发布
使用发布平台的发布管理功能,发布新版本。具体流程请参考 harmony 发布管理手册。
升级模式
在 mPaaS 控制台创建发布任务时,可选择升级模式,主要包含以下三种:
单次提醒:当 mPaaS 控制台发布新版本后,客户端调用一次版本升级接口,在静默周期内只弹框一次,以避免打扰用户。此升级模式适用于新版本刚上线引导用户升级的场景。
默认的静默期为 3 天,即 3 天内只能提醒用户一次。
若需修改默认值,可在调用升级检测接口前设置以下属性:
MPUpgradeService.defaultUpdateInterval = 1
多次提醒:当 mPaaS 控制台发布新版本后,客户端调用一次版本升级接口,就弹出一个提示框。此升级模式适用于新版本上线一段时间后,尽快引导用户升级到新版的场景。
强制提醒:当 mPaaS 控制台发布新版本后,客户端调用一次版本升级接口,就弹出一个提示框,且无取消按钮,即若不升级则不可使用 App。此升级模式适用于下线客户端旧版本、强制用户升级到新版本的场景。