首页 > 解决方案 > 如何将 Flutter 应用程序与辅助 Firebase Web 应用程序连接起来?

问题描述

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

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

现在,我想从我的 Flutter 应用程序中写入数据库 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'
    )
);

但我不确定这是否是一个安全的过程,我不知道如何调用辅助数据库实例......

 DatabaseReference db2 = FirebaseDatabase.instance.reference(); 
//It wouldn't work because I have a Primary or Default Database in my Flutter App

我需要做什么步骤才能将我的 Flutter 应用程序与辅助 Firebase RTDB(数据库 2)连接起来?

标签: flutterfirebase-realtime-database

解决方案


当您调用时,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);

如果您没有app准备好实例,您可以通过它的名称来查找它:

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

推荐阅读