这两天做了App的版本升级功能,发现官方文档下很多同学都在问App资源在线升级后版本号为什么不改变。官方同学也似乎没有回答到点上,这里给大家补充说明一下。
应用升级有三种方式:
- 整包升级:适用于大版本更新,runtime发生变化时(模块、配置、版本等变化)必须使用此更新方法
- 应用资源升级:适用于小版本更新 。runtime不变,前端页面整体压缩包更新
- 应用资源差量升级:适用于小版本更新 。runtime不变,前端页面仅需要更新的部分更新。
传送门:http://ask.dcloud.net.cn/article/431
应用的版本号有两种:
1、应用版本号
plus.runtime.version
2、应用资源版本号
// 获取本地应用资源版本号
plus.runtime.getProperty(plus.runtime.appid,function(inf){
wgtVer=inf.version;
console.log("当前应用版本:"+wgtVer);
});
所以官方文档说明的很清楚,只有在整包升级时,应用的版本号才会改变。而当应用资源升级时,应用的版本号是不会改变的,改变的是应用资源版本号。两种版本号的获取方式参照上述代码。
但是有两个版本号,似乎更新的时候有点困难。我的做法是将两个版本号统一,更方便处理。场景如下:
1、0.0.1版本的应用发布到了应用市场,已经有人下载了
2、开发同学发现有bug,紧急fix掉后将版本号改为了0.0.2,发布了应用资源包,同时也发布了整包到应用市场
3、由于应用市场需要审核应用,所以还没有人下载到最新的0.0.2版本
4、出现bug的用户在重启应用或收到升级推送后成功升级到0.0.2版本,修复了bug
5、第二天,应用市场审核通过0.0.2版本的应用。新用户下载了0.0.2版本。老用户使用的0.0.1版本但是应用资源包已经将App升级到0.0.2版
注:用户在检测版本的时候传最高的版本到服务器,避免重复升级。
11 个评论
要回复文章请先登录或注册
7***@qq.com
Vec9527
7***@qq.com
Vec9527
菜菜2
1***@qq.com
9***@qq.com
1***@qq.com
kika
8***@qq.com