如何从Android应用程序连接到多个Firebase数据库
我正在尝试在Firebase中拥有一个项目,这个项目将负责所有应用程序的共同事项。
也就是说,我想创build应用程序,然后让这些应用程序访问项目的特定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(); } });
您需要在代码中使用显式选项初始化第二个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获得configuration值。 API密钥位于名为api_key
的属性下,应用程序ID来自名为mobilesdk_app_id
的属性,数据库URL来自名为mobilesdk_app_id
的属性。