答题赚钱版本更新以及总结
第一个重要版本更新1.1.0(build7)
更新日志:后端重构提现模块,接口字段变更(master分支)。
一些问题:
1.老版本(1.1.0(build5)提现接口将无法使用、但是用户点击提现后不能展示后端的动态exception信息,提示信息为固定错误提示。
2.提现日志接口变更,老版本将无法展示提现日志,提现日志页显示空白。
3 User下的一个字段(accumulative)被更名,大量使用UserQuery的页面将无法显示,包括无法登陆注册。
处理方式:
考虑到有用户不能及时更新到新版本,所以先code-push更新到build6 (增加exception信息展示、分离需要使用accumulative字段的UserQuery减少耦合)
待大部分用户更新到buiild6之后,后端上线新接口,前端更新请求接口code-pusbuild7
让老用户能友好的过渡到后端接口变更,不会突然不能提现并且没有正确的提示。
因为新用户不会立即使用到提现模块的功能,后台唤醒一次APP就会更新,所以对新用户的影响也较小。
以上工作都在master分支进行
第二个重要版本更新1.2.0(build1)
这周原计划是向1.1.1(build1) 版本更新迭代。实际结果是更新到1.2.0(build1)。
更新日志:提现模块UI改动,以及增加了android原生模块,过时的接口字段需要清理,部分接口需要调整(staging分支) 。
一些问题:
1 由于此次更新更改了 android的versionName到1.2.0 所以code-push不能使用。需要让用户手动更新APK,
2 小米的系统会忽略minor version的变化 ,所以小米用户不能正常更新到1.1.1(上线之后才发现),已有部分用户已经更新到1.1.1
3 上线前遇到大量的小Bug,耗费了大量的时间打包测试。
处理方式:
merge staging到master分支,build1.2.0版本,上传apk到服务器,修改后端app version 为1.2.0。
在v1.1.0分支上进行的code-push更新(build10),保证1.1.0的用户能更新到1.2.0。
在APP启动时请求后端app version ,对比本地app version 提示更新,跳转apk下载链接。
使用了选择性更新(上架后使用强制更新),由于应用商店没有上架最新版本,防止新用户第一次安装APP就强制更新的不好体验
在请求的Header里加入本地app version,让后端能在提现时根据版本号给出提示更新的exception。
总结:
apk上线前的一些流程
检查android versionName versionCode (目前已知 小米会忽略minor version,百度必须更改versionCode)
检查js的app.json config配置是否更新到对应版本
检查 .env文件配置
build生成apk检查不同的包文件大小一致(防止缺少js bundle)
在staging上检查code-push功能 //注意codepush的后台唤醒安装bundle的功能 可能在调用选择图片等控件(触发后台唤醒)时会闪退 影响上架 应用商店 (第一次启动时,保证code-push和线上apk的jsbundle一致)
内测确定完成后code-push staging再promote到production
进行至少一天的内部测试,多账号、多环境、多设备、多版本(功能测试、兼容性测试)。
本地->staging(内测)->prod(release)/不同应用商店的包 都要测试
app代码层面的一些总结
1 数据请求能够展示后端的动态异常信息 ,在后端服务更新迭代的时候非常重要
2 检查更新
3 多部署配置、config配置、deviceInfo(app version和build能够传给后端很重要)
4 注意服务器压力,请求注意timeout
以上只针对android版本上线
这个人暂时没有 freestyle