为 debug/QA(通过 gradle Build Flavor)和 Google App Engine 使用不同的应用程序 ID

Using a different Application Id for debug/QA (via gradle Build Flavor) and Google App Engine

我正在考虑通过附加“-DEBUG”来更改我的应用程序 ID 的名称,这样我就可以在同一台设备上同时安装它的发布版和调试版(并且还有助于处理 Crashlytics 过滤等内容尽管还有其他方法可以解决这个问题),但它会给 google 应用引擎后端带来问题,因为所有安全功能都应该与应用程序名称相关联。

我正在考虑两种可能的解决方案,但想看看是否有其他人遇到过这个问题并且可能有更优雅的方法。

1) 相反,我可以通过 gradle versionNameSuffix 更改应用程序版本,尽管这不允许应用程序的两个版本共存

2) 向应用引擎后端注册两个应用 ID

我是不是想错了?一般而言,人们如何处理应用程序的发布与 QA 实例以及设置相应版本的后端?此外,Release 与 QA 后端实例是否共享相同的数据存储?谢谢

就我个人而言,我一直使用您正在考虑的后缀方法,除了使用一组更系统的后缀(-dev 如果有单个 "in development" 版本,-dev-<developersusername> 如果团队中的每个开发人员都会得到一个单独的,-staging-qa-canary-prod 等,具体取决于给定应用程序的确切部署工作流程)。

而且,我需要使用各种版本的任何外部系统,例如您的应用引擎后端,我都会在上面注册所有相关版本。通常一个小而简单的脚本可以轻松完成!-)

我认为在生产版本(其数据可能很珍贵并且绝对要保留)和很可能有错误的开发版本之间共享数据存储或其他持久数据是非常冒险的 - 不能新版本中的一个有点意料之中的错误会抹掉宝贵的需要保存的生产数据吗?