【问题标题】:Firebase: Setting up different environments for Auth and NotificationFirebase:为身份验证和通知设置不同的环境
【发布时间】:2020-09-28 04:04:02
【问题描述】:

我有 2 个移动应用和一个网络应用,它们使用相同的 Firebase 身份验证和通知服务。我只使用 Auth 和 Notification 服务,没有别的。

我需要一个临时环境和生产环境,并且两者都需要并行运行。

我在 Firebase 中没有看到其他选项,而不是创建两个不同的项目。但这是有风险的,因为我必须在移动应用中替换 JSON 文件,在 Web 应用中替换 Admin SDK 内容等等。

那么最好的选择是什么?我仅将 Firebase 用于身份验证和通知。在通知中,我向各个设备和用户组发送消息。

也许要求用户使用不同的电子邮件帐户进行测试和生产是要走的路? (因为这样即使使用相同的Auth空间,Auth数据也不会混乱)

【问题讨论】:

    标签: java android ios firebase flutter


    【解决方案1】:

    您可以只有一个 Firebase 项目,并在该项目中创建多个应用。例如,您可以使用包名称(android)/bundle id(iOS)“com.example.myapp”创建一个用于生产的应用程序,另一个用于暂存“com.example.myapp.staging”。这样,您可以下载具有两种配置的单个 json 文件。在您的 android studio/xcode 中,您必须使用相应的构建配置设置这些包名称/捆绑 ID。

    【讨论】:

    • 我知道我可以创建多个应用程序。那不是我的问题。我的问题是,无论我在一个项目中创建了多少应用程序,我都有一个身份验证系统和通知系统。默认情况下,单个项目中的所有应用都会使用它们,因为 Firebase 就是这样工作的。另外我不认为有阶段/产品包名称是要走的路。
    • 所以如果我这样做,我会得到两个不同的 Auth 部分副本吗?例如,生产中收集的电子邮件/密码列表将与暂存中收集的电子邮件/密码分开?或者两者都将在同一个 Auth 部分中提供? (这意味着,“staging”中的用户也可以登录到生产应用程序,因为他的身份验证被保存)
    • 因为正如我所提到的,我只使用 Firebase 进行身份验证和通知。我不将它用于数据库目的。所以我正在寻找一种解决方案,我可以在其中为身份验证暂存/生产环境。然后我将拥有 2 个不同的身份验证副本。
    • 如文档所述,您可以在 firebase 中有 2 个项目(生产和登台),每个项目都有自己的身份验证和通知系统。它们将生成 2 个 json/plist 文件,您必须将它们添加到您的 android/iOS 项目中,并将它们配置为将每个文件与构建变体 (android) 或目标 (iOS) 相关联。这样,您的用户将只属于他们注册的 firebase 项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 2018-07-27
    相关资源
    最近更新 更多