android - 如何设置 Firebase 以进行多阶段发布
问题描述
我正在构建一个 Android 和 iOS 应用程序,它将通过 Firebase 使用 Google Cloud 服务(身份验证、数据、消息传递等)。如何为发布流程设置 Firebase 项目?我设想会有一个开发、登台和生产环境。
根据如何为调试和发布环境设置不同的 Firebase 项目,您应该为每个环境设置一个单独的 Firebase 项目。
但是,当我尝试将 Android 项目添加到多个 Firebase 项目时出现错误:
Firebase 或 Google Cloud 项目包含一个 OAuth 2.0 客户端 ID(例如另一个已注册的 Android 应用),该客户端 ID 具有与此项目中您的一个 Android 应用列出的相同包名称和 SHA-1 密钥。在下载此配置文件之前,您需要 解决此问题。
我想我应该在 Firebase 项目中重用同一个 Android 项目,因为 Android 开发系统有一个多阶段发布机制,即buildType
. 我想我会尝试如下设置:
- android-proj
buildType
"debug" 指向 firebase-proj-dev - android-proj
buildType
"staging" 指向 firebase-proj-staging - android-proj
buildType
"release" 指向 firebase-proj-prod
上面的 Google Firebase 错误让我相信多阶段发布过程不能或不应该以这种方式设置。
有谁知道为涉及以下组件的多阶段发布过程设置环境的更好方法:
- 安卓应用
- iOS 应用
- Google Firebase 服务(数据库、存储、函数等)
最终,我想要三个独立的环境,特别是对于数据库:开发、登台、生产。
解决方案
推荐阅读
- asp.net-core - ASP.Net 核心 - IdentityModelEventSource 日志文件在没有发布的情况下运行在哪里?
- javascript - 更改文件格式
- excel - 将列单元格分成 2-3 组的 3 列?
- tabulator - 日期和时间选择器作为制表器中的自定义编辑器
- python - While & Sentinel 价值观
- javascript - 表单提交问题后Ajax重新加载DIV
- java - 构建应用程序时多表主键 JPA 上的 NullPointerException
- javascript - 开玩笑地模拟 uuid - 在服务函数中调用 uuid
- qt - 如何在悬停时更改 QML 中对象的属性?
- python - 我无法让 AWS S3 在我的 Django/Heroku 应用程序上提供媒体文件