考虑一个适用于 Android 和 iOS 的企业移动应用程序,并具有构建和发布管道。
我想要实现的是发布管道的推广模型,这样应用程序二进制文件仅在构建管道中构建一次,然后通过发布管道通过环境提升到生产环境:
[ APK/IPA ]---->Test ---> QA ---> Production---->[ Same APK/IPA ]
应用程序必须连接到后端 API 的相应测试、QA 和生产版本(例如,当应用程序处于测试阶段时,它应该连接到测试 API) - 但应用程序如何知道要连接哪一个到?
现在,如果我正在创建一个 Web 应用程序,这足够简单,可以使用环境变量来处理,因此 Web 应用程序知道它正在运行的环境 - 移动应用程序则不然。
我能想到的处理这个问题的唯一方法是让应用程序连接到一种配置 API,发送它的版本号,这样后端就会“告诉”它属于什么环境。但这似乎有点不灵活。
是否有某种方法可以将文件捆绑在 APK/IPA 文件中,以使其知道它属于哪个环境?有哪些方法可以处理这个问题?
我以前做过这个。我现在没有时间太深入。总体思路略有不同。我们阻止应用程序使用,直到通过后端 API 注册为止。我们使用序列号来定位设备,因此每个设备在注册过程中都会获得自己的环境。然后我们在两端使用持久性来根据序列号或唯一标识符来跟踪设备环境