HBuilder 的热更新
导读:我在移动APP开发之中特别困扰appStore的更新问题,没次改变点东西都需要重新发包进行审核,之前还不知道HBuilder有这个热更新的功能,后来听同事说可以热更新,不用每次都上传苹果商店进行审核,得到这个消息我很兴奋,于是在网上查阅了资料,自己变行动起来,一下是我的总结。
1、首先我们要获取当前安装包的version,将获取到当前APP安装的版本与服务器上的版本进行比较,如果存在最新版本可以提示用户进行下载更新。
var version;
// 获取本地应用资源版本号
plus.runtime.getProperty(plus.runtime.appid,function(inf){
//获取当前版本号
version=inf.version;}
2、如果用户选择更新可以使用一下方法进行更新。
// 下载wgt文件
function downWgt(){
//plus.nativeUI.showWaiting("下载wgt文件...");
plus.downloader.createDownload( wgtUrl, {filename:"_doc/update/"}, function(d,status){
if ( status == 200 ) {
console.log("下载wgt成功:"+d.filename);
installWgt(d.filename); // 安装wgt包
} else {
console.log("下载wgt失败!");
plus.nativeUI.alert("下载wgt失败!");
}
plus.nativeUI.closeWaiting();
}).start();
}
// 更新应用资源
function installWgt(path){
//plus.nativeUI.showWaiting("安装wgt文件...");
plus.runtime.install(path,{},function(){
plus.nativeUI.closeWaiting();
console.log("安装wgt文件成功!");
plus.nativeUI.alert("应用资源更新完成!",function(){
plus.runtime.restart();
});
},function(e){
plus.nativeUI.closeWaiting();
console.log("安装wgt文件失败["+e.code+"]:"+e.message);
plus.nativeUI.alert("安装wgt文件失败["+e.code+"]:"+e.message);
});
};
3、上面提到的下载WGT文件是由HBuilder生成的。先填写版本号等信息在进行WGT文件的生成。
- <code class="language-html">然后HBuilder的菜单栏中选择“发行”--》“制作移动app资源升级包”,将生成好的WGT文件放到服务器即可。</code>