Flutter 如何将颤振应用程序与辅助Firebase Web应用程序连接?

Flutter 如何将颤振应用程序与辅助Firebase Web应用程序连接?,flutter,firebase-realtime-database,Flutter,Firebase Realtime Database,我的应用程序是用Flatter和Firebase RTDB(数据库1)开发的。它是为IOS和Android构建的 我有一个使用JS和Firebase RTDB(数据库2)开发的辅助应用程序。它是为网络而创建的 现在,我想从我的Flatter应用程序中写入数据库2。我应该一步一步地做什么 我尝试使用以下方法进行申请: Future<void> _initSecondaryFirebaseDB() async { await Firebase.initializeApp(

我的应用程序是用Flatter和Firebase RTDB(数据库1)开发的。它是为IOS和Android构建的

我有一个使用JS和Firebase RTDB(数据库2)开发的辅助应用程序。它是为网络而创建的

现在,我想从我的Flatter应用程序中写入数据库2。我应该一步一步地做什么

我尝试使用以下方法进行申请:

Future<void> _initSecondaryFirebaseDB() async {

    await Firebase.initializeApp(
    name: 'SecondaryQRApp',
    options: const FirebaseOptions(
        appId: 'APP Id 847597056ab2f26',
        apiKey: 'Api Key InXspCU',
        messagingSenderId: 'messagingSenderId 35345',
        projectId: 'projectId of Web App'
    )
);

我需要执行什么步骤y步骤才能将我的Flatter应用程序连接到辅助Firebase RTDB(数据库2)?

当您调用
FirebaseDatabase.instance时,您将获得数据库的默认实例。要获取特定配置的实例,需要传入该配置的
FirebaseApp
实例

var app = await Firebase.initializeApp(
  name: 'SecondaryQRApp',
  options: const FirebaseOptions(
    appId: 'APP Id 847597056ab2f26',
    apiKey: 'Api Key InXspCU',
    messagingSenderId: 'messagingSenderId 35345',
    projectId: 'projectId of Web App'
  )
);
var db = FirebaseDatabase(app: app);
如果您没有准备好
应用程序
实例,可以按其名称查找:

var app = FirebaseApp.apps.firstWhere(app => app.name == "SecondaryQRApp");

为什么web应用程序连接到其他数据库?如果您让它连接到同一个数据库,它将立即能够看到移动应用程序所做的更改。关于这方面的演示,请参阅(本机和web)代码,请参阅@puf这是一个好问题,我不是100%相信答案,但它就在这里。。。我有第二个数据库,因为它是公共的。这就是为什么我认为保留单独的数据库更安全,并且不给第一个数据库提供url web访问选项。现在,您必须在两个数据库之间同步数据,这听起来像是一个错误的洞。如果你在同一个数据库中有一个公共部分和一个私有部分,你可以为它们编写不同的代码(这总是一个好主意)。如果你真的想让flatter应用程序连接到两个实时数据库,这是可能的,而你共享的代码似乎是一个很好的起点。运行该代码时出现了什么问题?啊,我现在明白了。。。你用错误的方式获取应用程序。我将在下面写一个例子。“你可能对我正在挖的洞是正确的,杰杰。”。现在,我只需要从应用程序一次编写一个文档,而不需要修改它。事实上,我认为未来它应该是一个不可变的区块链数据库。。。Firebase有什么想法吗?谢谢@puf。“var db=FirebaseDatabase(app);”一句话向我抛出错误:位置参数太多:应为0,但找到1。啊,看起来它确实是一个命名参数。更新了我的答案,也看到了
var app = FirebaseApp.apps.firstWhere(app => app.name == "SecondaryQRApp");