AndroidVersionCode与
在安卓版本更新的时候,因为测试团队工期很紧,存在一个bug问题没有测试出来,而发现这个问题的时候,基本上所有的商店都已经提交审核了,同时手机应用平台刚刚审核通过了,此时此刻,我的内心是崩溃的。
所以针对这个过程中涉及到VersionCode和VersionName进行相关的介绍,以及这个过程“如何急救”进行简单的小结,避免之后再次入坑。
首先结合具体例子来解释一下这2个东西的区别:
VersionName
现在在使用互联网产品的时候会涉及“版本”这个名词,比如IOS8.2.3、MIUI8.1.0、QQ等等这些都是产品的版本号,也就是VersionName,用户可以通过这个来了解当下自己使用的产品的版本情况。这个也是用户层面可见的。
VersionCode
这个主要就是在产品开发的时候涉及到的,比如:win7sp1是6.1..,主要是以一长串的数字形式呈现。这个对于消费者来说是毫无意义的,如果呈现的是这个给用户,反而会引起用户困扰。用字符串的形式的优点在于:1)方便程序开发的时候版本记录,因为开发的过程中,可能一天开发很多版本,但是不会上线,这样如果用上面的方式去记录,就会造成数字很大,对于用户来说也不具有任何的识别性,相反以这样的字符串记录,反而会更加方便开发记录;2)方便应用商店的抓取,毕竟现在应用商店会主动的去爬虫各类应用,以数字的形式,对于机器来说是最友好方便的了,只需要判断比当前的商店内VersionCode大就可以判断为新版本。
所以综上所述;
VersionName:对消费者可见,消费者主要依托此来识别现有版本的安装。
VersionCode:对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途;
VersionCode和VersionName在开发运营过程中也是一种息息相关的存在。
1
发布了一个VersionCode错误的版本
有的时候因为开发人员的不小心,将VersionCode误操作写的过大,比如将1.1.1.20的VersionCode写成,将1.1.1.27的VersionCode写成127,但是后发布的1.1.2希望沿用旧的VersionCode,用。
可能遇到问题:1.1.1.27版的用户将无法获得1.1.2版本的升级,因为在程序看来1.1。1.27版本是比较新的,同时,已经使用了1.1.2版本的用户,可能会收到旧版本的升级提示,并降级回旧版。
解决办法:因为VersionCode对用户来说是不可见的,所以只需要将1.1.2的VersionCode增加到00即可。
2
一个VersionName,对应多个VersionCode
这种情况很常见,比如说新版本发布之后,某个商店反馈说存在xxx问题,需要修复、定制等等操作,于是商务找工程师出了个新版本,考虑到是小版本升级,版本号没变化,但是VersionCode已经变了。
可能遇到的问题:如果这个新版只在部分商店上线,就会出现都是3.1版,A商店的版本其实比B商店的新。已经安装了新版本的用户,还会被提示升级,这时候用户会困扰,为什么我装了3.1还要升级到3.1?部分商店为了最新会抓包,导致渠道包流窜,影响运营监控和分析。
解决办法:a.版本号应该和VersionCode一起涨,而且一旦发布新版本,就在所有的渠道都上架新版本。
3
发布了一个有BUG的版本
就是像我们这次程序遇到的一样,上线提交了,bug复现了,虽然不是很严重的bug,但是真的非常影响体验,作为强迫症患者,这个显然是不能忍的。
可能遇到的问题:已经升级到有Bug版本的用户是无法回滚到旧版的,因此这样直接退回旧版本的方式对这些热心升级的用户是非常不负责任的。而且人肉召回的力度实在有限,这个有Bug的版本一定会流传的。
解决办法:最好是不要浪费时间退回旧版,赶紧修复Bug发个新版本(记得加VersionCode),如果Bug比较棘手,暂时无法修复,只能退回旧版本,这时建议把旧版本的VersionCode改大一些后,提交新版本,这样可以保证所有用户都能下载/升级到一个相对可靠的版本。
此次,我们首先联系了各家应用商店,将正在提交审核的应用撤回,因为发现的及时,所以就只有手机助手一家应用商店上架了,其他家都正在审核中,所以就能顺利的将bug版本撤回。
与此同时开发也积极的修改bug,因为涉及大的修复并不是很大,这个就是上面介绍的第2点例子,因为在产品的修复过程中VersionCode是肯定会增大的,如果此时在除外的其他应用商店,提交上架修复版,同时VersionName仍然沿用3.1这个版本号的话,手机助手肯定会抓包(因为VersionCode变大了),这个时候给的那批用户的升级提示还是3.1版,这个就会给用户带来困扰,怎么之前的版本就是3.1了,现在提示升级的还是3.1,而且是在这么短的时间内提示的更新,所以就会给用户留下很不好的印象,对产品本身的发展也不好。所以这个时候,我们将VersionName也增加,这样抓包后,给用户的升级提示在VersionName也是增加的,至少能尽量减少用户的困扰。
所以总结:产品测试阶段一定要仔细、认真、全面。
年6月16日
天气:阵雨
#此文为-08-23发布于lofter,平台迁移至此。
预览时标签不可点收录于话题#个上一篇下一篇 |