Android 如何将两个不同的Firebase项目连接到一个通用Firebase数据库?

Android 如何将两个不同的Firebase项目连接到一个通用Firebase数据库?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,情景: 我们在Firebase中有两个不同的项目,分别是:Customer和Merchant 这两个项目是在Firebase控制台中创建的,因此它们具有不同的项目ID,并且不能合并到单个项目中。它们都使用Firebase的远程配置功能,因此在各自的项目中都已经有了google services.json配置文件 现在,我们需要使用Firebase引入实时聊天功能,并希望在客户和商家之间进行一对一的聊天。如果我们使用Firebase,那么它说明即使我们创建了另一个项目聊天,它也有另一个google

情景:

我们在Firebase中有两个不同的项目,分别是:
Customer
Merchant

这两个项目是在Firebase控制台中创建的,因此它们具有不同的项目ID,并且不能合并到单个项目中。它们都使用Firebase的远程配置功能,因此在各自的项目中都已经有了
google services.json
配置文件

现在,我们需要使用Firebase引入实时聊天功能,并希望在客户和商家之间进行一对一的聊天。如果我们使用Firebase,那么它说明即使我们创建了另一个项目聊天,它也有另一个
google services.json
配置文件,这将与两个项目中的现有配置文件冲突

也就是说,如果我们使用客户应用程序,那么它已经有一个Firebase配置。那么,如何在其中添加另一个chat Firebase配置

这就是我尝试过的:

  • 制作了另一个名为Chat的android项目,并将其各自的Firebase配置添加到该项目中,然后将其作为一个模块添加到客户android项目中,该项目已经有了自己的Firebase配置。因此,当我编译时,它将主应用程序的客户应用程序配置文件视为Firebase配置。它根本没有考虑聊天模块JSON配置

  • 在这种方法中,我尝试使用答案以编程方式打开另一个Firebase实例。但是,当我尝试将任何消息推送到chat Firebase数据库时,连接会关闭,并显示消息
    错误的项目id
    ,因为Firebase实例正在考虑客户应用程序的id


  • 使用上述方法,它失败了。任何人都知道如何进行此操作,或者是否可行?

    如果要对两个或多个应用程序使用相同的firebase数据库,只需执行以下步骤

    • 转到您的firebase项目控制台
    • 单击左上角的概述
    • 单击添加另一个项目
    • 选择您的平台
    • 输入firebase要求的项目详细信息 下载并将配置文件添加到项目中

    您已准备就绪。

    要从另一个项目连接到另一个Firebase实时数据库,您首先需要为该另一个Firebase项目初始化FirebaseApp实例,并为其指定一个标识符-在本例中为“次要”:

    然后,您可以使用相同的客户端API访问数据库,但这次通过将相关的FirebaseApp传递给FirebaseDatabase.getInstance()来指定要访问的项目:

    如果需要访问project的默认数据库,请使用以下命令:

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    

    有关更多信息,请查看

    @VishalPatoliya它不允许我们更改url。你说的是数据库url?不,它不允许。嗨。这似乎太宽泛了。请详细说明需要做什么。因为我在读它。你刚才解释了你的处境。除此之外,没有其他细节。@AL编辑了问题。@Yvette编辑了问题
    // Retrieve my other app.
    FirebaseApp app = FirebaseApp.getInstance("secondary");
    // Get the database for the other app.
    FirebaseDatabase secondaryDatabase = FirebaseDatabase.getInstance(app);
    
    FirebaseDatabase database = FirebaseDatabase.getInstance();