2016-09-07 3 views
2

Szenario:Wie verbinde ich zwei verschiedene Firebase-Projekte mit einer einzigen gemeinsamen Firebase-Datenbank?

Wir haben zwei verschiedene Projekte in Firebase genannt: Customer und Merchant.

Diese beiden Projekte wurden in der Firebase-Konsole erstellt, sodass beide unterschiedliche Projekt-IDs haben und nicht zu einem einzigen Projekt zusammengefügt werden können. Jeder von ihnen verwendet Remote-Konfigurations-Funktion von Firebase, so dass beide bereits google-services.json Konfigurationsdatei in entsprechenden Projekten haben.

Jetzt müssen wir Echtzeit-Chat-Funktion mit Firebase einführen und wollen Einzel-Chat zwischen Kunde und Händler. Wenn wir Firebase verwenden, gibt es an, dass wir, obwohl wir einen anderen Projekt-Chat erstellen, eine andere google-services.json Konfigurationsdatei hat, die mit den vorhandenen Konfigurationsdateien in beiden Projekten in Konflikt steht.

Das bedeutet, wenn wir eine Kunden-App verwenden, hat sie bereits eine Firebase-Konfiguration. Wie kann ich eine weitere Chat-Firebase-Konfiguration hinzufügen?

Dies ist, was ich versucht habe:

  1. einen weiteren Android-Projekt mit dem Namen Chat gemacht und hinzugefügt, um es seine jeweiligen Firebase config und es dann als Modul in Kunden Android-Projekt hinzugefügt, die bereits eine eigene Firebase sind Konfig. Also, als ich kompiliert habe, dass es die Haupt-App betrachtet, ist die Kunden-App-Konfigurationsdatei als Firebase-Konfiguration. Die JSON-Konfiguration des Chat-Moduls wird überhaupt nicht berücksichtigt.

  2. Bei diesem Ansatz habe ich versucht, eine andere Firebase-Instanz mithilfe der Antwort here programmatisch zu öffnen. Wenn ich jedoch versuche, eine Nachricht an die Firebase-Datenbank zu senden, wird die Verbindung mit der Nachricht wrong project id geschlossen, da die Firebase-Instanz die ID der Kundenanwendung berücksichtigt.

Mit obigen Ansätzen versagte es. Hat jemand eine Idee, wie man damit vorgeht oder ist es möglich oder nicht? fügen Sie einfach den unten genannten Code-Schnipsel in der Aktivität

+0

@VishalPatoliya Es erlaubt uns nicht, die URL zu ändern. Sie sprechen über die Datenbank-URL? –

+0

Nein, es ist nicht erlaubt. –

+0

Hallo. Dies erscheint zu weit gefasst. Erläutern Sie mehr, was zu tun ist. Weil ich darin lese. Sie haben gerade die Situation erklärt, die Sie haben. Ansonsten keine weiteren Details. –

Antwort

-1

Um 2 Firebase-Projekt in einer einzigen Anwendung zu verbinden, in dem Sie die Daten aus den verschiedenen Feuerbasis Projekt zugreifen möchten:

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(); 

dies wird Ihnen lassen Instanziieren Sie die Firebase-Projektreferenz des Projekts, das Sie in Ihrer Anwendung verbinden möchten.

Um Datenbank zu verwenden. Erstellen Sie eine Firebase-Instanz des FirebaseDatabase- und DatabaseReference-Objekts. Wie unten aufgeführtes Code-Snippet.

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

wo zur Hölle ist die URL für die Datenbank des "sekundären" Firebase-Projekts? – ericn

1

Für die gleiche Datenbank von Feuerbasis auf zwei oder mehr Anwendungen mit nur Sie den folgenden Schritten folgen.

  • Ihr Zum FeuerbasisProjekt Konsole
  • Klicken Sie auf Übersicht in der linken oberen Ecke
  • Klicken Sie auf ein anderes Projekt hinzuzufügen.
  • Wählen Sie Ihre Plattform
  • die Projektdetails von Feuerbasis herunterladen gefragt Geben Sie und fügen Sie die Config Datei zu Ihrem Projekt.

Sie sind bereit zu gehen.

Verwandte Themen