使用flutter如何在同一个App中使用多个firebase实时数据库

Pau*_*tta 5 firebase-realtime-database flutter

我们正在使用firebase实时数据库在flutter中开发一个应用程序,为不同的客户提供多种服务。我希望为使用相同 firebase 项目的每个客户拥有不同的数据库。由于 Firebase 在同一项目中支持多个数据库,我相信可以使用 FirebaseDatase 插件来实现。

\n\n

我尝试设置对辅助数据库的引用,但我无法\xe2\x80\x99找到一个解决突击队来更改该数据库的实例。如果您使用 Java 或其他使用 Firebase SDK 的语言,这非常简单,但我找不到使用 Flutter 的方法。

\n\n
Future<DataSnapshot> getDbData(String dbChildPath) async {\nDataSnapshot _objdatabase;\ntry {\n  await FirebaseDatabase.instance\n      .reference()\n      .child(dbChildPath)\n      .once()\n      .then((DataSnapshot snapshot) {\n    _objdatabase = snapshot;\n    print(_objdatabase.toString());\n  });\n  return _objdatabase;\n} catch (erroDB) {\n  print(erroDB);\n  return null;\n}}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的代码正在从默认数据库获取数据。

\n\n

如何设置辅助数据库实例的 URL?

\n\n

请问有什么想法吗?

\n

Suk*_*khi 5

您可以使用 FirebaseDatabase() 的参数,如下所示:

String fdbUrl1 = "https://my-firebase-db-1.firebaseio.com"
String fdbUrl2 = "https://my-firebase-db-2.firebaseio.com"

final databaseReference1 = FirebaseDatabase(databaseURL:fdbUrl1).instance.reference();
final databaseReference2 = FirebaseDatabase(databaseURL:fdbUrl2).instance.reference();
Run Code Online (Sandbox Code Playgroud)

注意:以上内容未经单元测试。它应该有效。以防万一,请添加构造函数的“app”参数。