您可以使用YonBuilder移动开发平台 的版本更新服务,来向用户推送您App的新版本。版本更新服务只针对正式版APP,测试版无效。只能由低版本更新到高版本。
注意:使用版本更新功能需要添加mam原生插件。
1, config.xml 中配置
<preference name="autoUpdate" value="true" />
2,登录YonBuilder移动开发平台官网,进入控制台,找到“版本更新”(图一),点击进入版本管理界面(图二),如图:
图一:
图二:
3,选择平台、版本并填写更新地址,更新备注,最后点击“更新”按钮。 注意不要使用YonBuilder移动开发平台云编译的链接,此链接仅供开发测试使用。
可以下载云编译的安装包上传到自己服务器生成一个更新地址或使用您的APP在应用市场的下载链接。
4,打开手机上的APP,即可接收到新版本的推送。
也可使用mam原生插件更新,参考文档: mam
首先在项目代码config.xml中配置:
<preference name="autoUpdate" value="false" />
示例代码:
function checkUpdate() {
var mam = api.require('mam');
mam.checkUpdate(function(ret, err) {
if (ret) {
var result = ret.result;
if (result.update == true && result.closed == false) {
var str = '新版本型号:' + result.version + ';更新提示语:' + result.updateTip + ';下载地址:' + result.source + ';发布时间:' + result.time;
api.confirm({
title : '有新的版本,是否下载并安装 ',
msg : str,
buttons : ['确定', '取消']
}, function(ret, err) {
if (ret.buttonIndex == 1) {
if (api.systemType == "android") {
api.download({
url : result.source,
report : true
}, function(ret, err) {
if (ret && 0 == ret.state) {/* 下载进度 */
api.toast({
msg : "正在下载应用" + ret.percent + "%",
duration : 2000
});
}
if (ret && 1 == ret.state) {/* 下载完成 */
var savePath = ret.savePath;
api.installApp({
appUri : savePath
});
}
});
}
if (api.systemType == "ios") {
api.installApp({
appUri : result.source
});
}
}
});
} else {
api.alert({
msg : "暂无更新"
});
}
} else {
api.alert({
msg : err.msg
});
}
});
}
同强制更新逻辑一致,唯一不同的点:当你将版本管理中的所有版本均关闭后,用户在启动app时,就会收到强制关闭的提示了,即该app不再使用
强制更新和强制关闭的主要逻辑:当用户手机上当前安装的版本被关闭时,如果此时服务器上有比该版本更新的版本,则强制用户更新到最新版本;如果用户手机上当前安装的版本没有被关闭时,则提示更新,用户可以选择不更新;当服务器上所有版本都被关闭时,该应用被强制关闭,用户无法再使用。注:前置条件是手机联网了。