Firebaseで、すべてのアプリに共通する1つのことを担当するプロジェクトを1つ作成しようとしています。
つまり、アプリを作成してから、これらのアプリにプロジェクトの特定のFirebaseデータベースにアクセスさせたいのです。
Firebase Android docsを見て、次を使用して別のプロジェクトの別の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();
}
});
コードで明示的なオプションを使用して、2番目の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);
2番目のプロジェクトのgoogle-services.jsonから構成値を取得しました。 APIキーはapi_key
というプロパティの下にあり、アプリケーションIDはmobilesdk_app_id
というプロパティから取得され、データベースURLはfirebase_url
というプロパティから取得されました。