理论上,更新应用程序只是将新文件上传到商店。实际上,这是一个紧张的时刻。 “对于那些已经安装了它的人来说,它会崩溃吗?”,“[数据库2会正确迁移吗?”。
本实用指南涵盖了操作最佳实践,以确保您的更新顺利且隐形(以良好的方式)。
1. 功能切换(受控启动)
切勿在更新中发布新的“硬编码”功能。 使用功能切换(远程开/关开关)。
- 您上传的更新带有新功能隐藏(关闭)。
- 当版本对90%的用户稳定时,您打开服务器上的开关。
- 如果出现问题,请将其关闭。 这将“部署”(存储中的代码)与“发布”(可供用户使用)分离。
2. 分阶段推出
Google Play 和 Apple App Store 都允许逐步推出。
- 第 1 天:发布给 1% 的用户。
- 第 2 天:监控崩溃情况。如果一切正常,释放到 5%。
- 第 3 天:20%。
- 第 7 天:100%。 如果出现灾难性错误,它只会影响你基地的 1%,而不是全部。您可以暂停发布并修复它。
3. 自动回归测试
上传之前,运行您的测试套件。 回归测试检查:“以前有效的方法现在仍然有效吗?” 修复“个人资料”屏幕并意外破坏“登录”屏幕的情况很常见。自动化(Appium、Maestro)在这里至关重要。
4.本地数据迁移(Realm/CoreData)
如果您的更新更改了本地[移动数据库]的结构(例如向任务表添加了一列),则需要编写迁移。
- 该应用程序检测到您使用的是新版本的银行。
- 运行脚本使旧数据适应新格式。
- 然后才让用户输入。
- 危险:如果您忘记迁移,应用程序在向所有老用户打开时将会崩溃。彻底测试这一点(安装旧版本,填充数据并更新到新版本)。
5. 应用程序大小
监控 0 或 1 的大小。 巨大的更新(100MB+)会使用户在使用 4G 时停止下载。 使用 App Bundles (Android) 等技术,仅下载特定用户屏幕所需的资源,从而减少下载大小。
结论
“在实践中”更新是一项降低风险的活动。使用商店提供的工具(分阶段推出)并实施防御架构(功能标志)。最好的更新是在不造成服务中断的情况下改善用户生活的更新。
另请阅读
- [应用更新-日常生活中的最佳实践4
- [应用程序更新5
- [应用程序流失:实践趋势6
- [应用程序中的用户保留:实践中的安全性7
- 【应用中的数据分析8
- 【数据分析应用-真实案例完整指南9
