So verbinden Sie sich mit mehr als einer Firebase-database von einer Android-App

Ich versuche ein Projekt in Firebase zu haben, das für eine gemeinsame Sache aller Apps verantwortlich sein wird.

Das heißt, ich möchte Apps erstellen und dann über diese Apps auf eine bestimmte Firebase-database eines Projekts zugreifen.

Wenn ich mir die Firebase-Android-Dokumente ansehe, kann ich keine Möglichkeit finden, Daten an eine andere Firebase-database in einem anderen Projekt zu senden. Dabei wird Folgendes verwendet, aber die Referenz bezieht sich auf ein anderes Projekt.

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("example"); ref.push().setValue(d).addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { finish(); } }); 

Sie müssen ein zweites FirebaseApp Objekt mit expliziten Optionen in Ihrem Code initialisieren:

 FirebaseOptions options = new FirebaseOptions.Builder() .setApiKey("AI...j0") .setApplicationId("1:5...e0") .setDatabaseUrl("https://myapp.firebaseio.com") .build(); FirebaseApp secondApp = FirebaseApp.initializeApp(getApplicationContext(), options, "second app"); FirebaseDatabase secondDatabase = FirebaseDatabase.getInstance(secondApp); secondDatabase.getReference().setValue(ServerValue.TIMESTAMP); 

Ich habe die Konfigurationswerte von google-services.json des zweiten Projekts erhalten. Der API-Schlüssel steht unter einer Eigenschaft namens api_key , die Anwendungs-ID stammt von einer Eigenschaft namens mobilesdk_app_id und die database-URL stammt aus einer Eigenschaft namens firebase_url .