Eason
Eason
  • 发布:2016-11-15 16:30
  • 更新:2021-06-16 19:48
  • 阅读:11699

App版本升级总结

分类:HTML5+

这两天做了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版

注:用户在检测版本的时候传最高的版本到服务器,避免重复升级。

7 关注 分享
小小刀 8***@qq.com kika 2***@qq.com y***@163.com JSail 1***@qq.com

要回复文章请先登录注册

李占银

李占银

mark
2017-01-13 11:26