参考官方文档 http://ask.dcloud.net.cn/article/12895,已完成ios及Android 更新检测,需打包测试使用:
【ps:在app.js文本的onLaunch方法中代码添加以下代码】
var ua = navigator.userAgent;
if(ua.indexOf('Html5Plus')>-1 && ua.indexOf('StreamApp')==-1){
var url = "http://*********.com/update/down";//检查更新地址
var req = {//升级检测数据
"appid": plus.runtime.appid,
"version": plus.runtime.version,
"plus":plus.os.name //区分系统
};
wap2app.ajax.get(url, req, function(rsp) {
if(rsp && rsp.status){
//需要更新,提示用户
plus.nativeUI.confirm(rsp.note, function(event) {
if(0 == event.index) {//用户点击了“立即更新”按钮
plus.runtime.openURL(rsp.url);
}
}, rsp.title, ["立即更新", "取 消"]);
}
});
}
【php为例,后台代码】:
public function down(){
$appid = $_GET['appid'];
$version = $_GET['version'];//客户端版本号
$os= $_GET['plus']; //系统
$rsp = array('status' => 0);//默认返回值,不需要升级;
if (isset($appid) && isset($version)) {
if($appid=="W2A*****.com"){//校验appid
if($version !== "1.2"){ //最新版本号
$rsp['status'] = 1;
$rsp['title'] = "应用更新";
$rsp['note'] = "添加检测版本升级;";//release notes,支持换行
if($os == 'Android'){
$rsp['url'] = "http://******/android.apk";//应用升级包下载地址
}else{
$rsp['url'] = "https://itunes.apple.com/cn/app/*****************";//应用升级包下载地址
}
}
}
}
exit(json_encode($rsp));
}
问题补充:
新版本安装包可正常下载,但是在安装新安装包时出现 ‘无法降级安装’ ,导致原因:
(1)manifest.json --》 ‘应用信息’ 中的版本号要递增;
(2)新版本安装包打包时间要晚于旧版本安装包打包时间;(直白点说:先打旧版本包,后打新版本包)