2016-09-07 31 views
2

场景:如何将两个不同的Firebase项目连接到单个常见的Firebase数据库?

我们在Firebase中有两个名为CustomerMerchant的项目。

这两个项目是在Firebase控制台中创建的,因此两个项目都有不同的项目ID,并且它们不能合并到一个项目中。他们每个人都使用Firebase的远程配置功能,因此两个项目中都有google-services.json配置文件。

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

意思是,如果我们带客户端应用程序,那么它已经有一个Firebase配置。那么,如何在其中添加其他聊天Firebase配置?

这是我已经试过:

  1. 制造另一个Android项目命名为聊天,并加入其各自的火力地堡配置它,然后添加它作为客户的Android项目的模块已经有它自己的火力地堡配置。所以,当我编译它认为主应用程序是客户应用程序配置文件作为Firebase配置。它根本不考虑聊天模块JSON配置。

  2. 在这种方法中,我尝试使用回答here以编程方式打开另一个Firebase实例。但是,当我尝试将任何消息推送到聊天Firebase数据库时,该连接将以消息wrong project id关闭,因为Firebase实例正在考虑客户应用的ID。

通过上述方法,失败了。任何人都有任何想法如何继续这或可能或不可能吗?

+0

@VishalPatoliya它不允许我们更改网址。你在谈论数据库网址? –

+0

不,它不允许。 –

+0

嗨。这看起来太宽泛了。请详细说明需要做什么。因为阅读它。你刚刚解释了你的情况。除此之外,没有其他细节。 –

回答

-1

为了连接2火力地堡项目在一个单一的应用程序只需添加下述代码片断在你想从不同的火力点项目访问数据的活动:

FirebaseOptions options = new FirebaseOptions.Builder() 
.setApplicationId("1:867246553999:android:87b5f93a4581b3") // Required for Analytics. 
.setApiKey("AIzaSyB6BLBcXEqRunKyhdJEdfaL4BlOqT_NP") // Required for Auth. 
.setDatabaseUrl("https://example.firebaseio.com/") // Required for RTDB. 
.build(); 

这会让你实例化要在应用程序中连接的项目的Firebase项目引用。

为了使用数据库。创建一个FirebaseDatabase和DatabaseReference对象的Firebase实例。就像下面列出的代码片段一样。

FirebaseApp app = FirebaseApp.getInstance("secondary"); 
FirebaseDatabase secondaryDatabase = FirebaseDatabase.getInstance(app); 
DatabaseReference mDbRef = secondaryDatabase.getReference(); 
+0

地狱是“二级”Firebase项目数据库的URL? – ericn

1

对于使用的火力同一个数据库到两个或更多的应用程序只需按照下面的步骤。

  • 转到您的火力项目控制台
  • 点击概述在左上角
  • 点击添加其他项目。
  • 选择您的平台
  • 输入项目的详细信息通过火力 下载问及配置文件添加到您的项目。

你准备好了。

相关问题