我正在考虑使用Firebase作为MBaaS,但是我找不到任何可靠的解决方案来解决以下问题:

我想建立两个独立的Firebase环境,一个用于开发,一个用于生产,但我不想手动复制功能(例如。开发和生产环境之间的远程配置设置、通知规则等)。

有什么我可以依赖的工具或方法吗?从头开始设置远程配置或通知规则可能是一项艰巨的任务,风险太大。

有什么建议吗?有没有比拥有两个独立环境更好的方法呢?

在你发表另一个解释如何建立独立Firebase帐户的问题答案之前:这不是问题,再读一遍。问题是:如何在独立的开发帐户和prod帐户之间转移更改或任何比在它们之间手动复制更好的解决方案。


当前回答

我的做法是:

我在firebase上有2个项目-一个用于DEV,另一个用于PROD 在本地,我的应用程序也有两个分支——一个叫DEV,另一个叫PROD 在我的DEV分支中,我总是有DEV firebase项目和PROD的JSON文件

这样我就不需要维护我的json了。

其他回答

我们选择在本地开发服务器上为Test和UAT启动新的Firebase模拟器实例,完全不考虑GCP。它正是为这个用例设计的。

https://firebase.google.com/docs/emulator-suite

Firebase有一个页面,介绍了如何为dev和prod设置它

https://firebase.google.com/docs/functions/config-env

Set environment configuration for your project To store environment data, you can use the firebase functions:config:set command in the Firebase CLI. Each key can be namespaced using periods to group related configuration together. Keep in mind that only lowercase characters are accepted in keys; uppercase characters are not allowed. For instance, to store the Client ID and API key for "Some Service", you might run: firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID" Retrieve current environment configuration To inspect what's currently stored in environment config for your project, you can use firebase functions:config:get. It will output JSON something like this: { "someservice": { "key":"THE API KEY", "id":"THE CLIENT ID" } }

我的做法是:

我在firebase上有2个项目-一个用于DEV,另一个用于PROD 在本地,我的应用程序也有两个分支——一个叫DEV,另一个叫PROD 在我的DEV分支中,我总是有DEV firebase项目和PROD的JSON文件

这样我就不需要维护我的json了。

您将需要管理不同的构建类型

遵循这个

首先,在Firebase控制台创建一个新项目,名称id为YOURAPPNAME-DEV 点击“添加android应用程序”按钮,创建一个新的应用程序。例如将其命名为com.yourapp.debug。新的谷歌服务。Json文件将 自动下载 在你的项目src目录下创建名为“debug”的新目录并复制新的google-services。Json文件 在模块级别构建中。Gradle添加这个 调试{ applicationIdSuffix“.debug” }

现在,当你构建一个调试构建谷歌服务。Json从“调试”文件夹将被使用,当你将构建在发布模式谷歌服务。将考虑来自模块根目录的Json。

我目前没有使用Firebase,但考虑到它像你一样。看起来要走的路是在控制台上创建一个完全独立的项目。在旧的Firebase网站上有一篇博文推荐了这个功能,不过现在看起来要被删除了。https://web.archive.org/web/20160310115701/https://www.firebase.com/blog/2015-10-29-managing-development-environments.html

同样的讨论建议: https://groups.google.com/forum/ !味精/ firebase-talk / L7ajIJoHPcA / 7 dsnutdlyryj