我试图让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();
}
});
答案 0 :(得分:29)
您需要在代码中使用显式选项初始化第二个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来自名为firebase_url
的属性。