如何從Android應用程序連接到多個Firebase數據庫


Answers

您需要在代碼中使用顯式選項初始化第二個FirebaseApp對象:

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

我從第二個項目的google-services.json獲得配置值。 API密鑰位於名為api_key的屬性下,應用程序ID來自名為mobilesdk_app_id的屬性,數據庫URL來自名為mobilesdk_app_id的屬性。

Question

我正在嘗試在Firebase中擁有一個項目,這個項目將負責所有應用程序的共同事項。

也就是說,我想創建應用程序,然後讓這些應用程序訪問項目的特定Firebase數據庫。

查看Firebase Android文檔,我找不到使用以下方法將數據發送到另一個項目中的另一個Firebase數據庫的方法,但是其中引用了另一個項目。

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