我正在try 让我的Flutter 应用程序在浏览器中运行,这取决于Firebase_database.实际上没有关于如何做到这一点的任何文档,但是我根据Firebase_core和Firebase_auth文档做了一些假设:

我的应用程序在iOS和安卓系统上运行,但在Flatter web上运行数据库时遇到了问题.

我已经建立了索引.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flutter WebRTC Demo</title>
</head>
<body>
    <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-database.js"></script>
    <script>
        const firebaseConfig = {
            apiKey: '...',
            authDomain: '...',
            databaseURL: '...',
            projectId: '...',
            storageBucket: '...',
            messagingSenderId: '...',
            appId: '...'
        };
        firebase.initializeApp(firebaseConfig);
    </script>
    <script src="main.dart.js" type="application/javascript"></script>
</body>
</html>

但是,当我try 使用FireBase数据库时,日志(log)中出现错误:

MissingPluginException(No implementation found for method DatabaseReference#set on channel plugins.flutter.io/firebase_database)
package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 196:49  throw_
package:flutter/src/services/platform_channel.dart 319:7                              invokeMethod
package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 47:50            onValue
package:dart-sdk/lib/async/zone.dart 1381:54                                          runUnary
package:dart-sdk/lib/async/future_impl.dart 139:18                                    handleValue
package:dart-sdk/lib/async/future_impl.dart 680:44                                    handleValueCallback
package:dart-sdk/lib/async/future_impl.dart 709:32                                    _propagateToListeners
package:dart-sdk/lib/async/future_impl.dart 524:5                                     [_completeWithValue]
package:dart-sdk/lib/async/future_impl.dart 554:7                                     callback
package:dart-sdk/lib/async/schedule_microtask.dart 43:11                              _microtaskLoop
package:dart-sdk/lib/async/schedule_microtask.dart 52:5                               _startMicrotaskLoop
package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 168:15           <fn>

有没有什么方法可以让实时数据库在我的Flutter 应用程序中运行在网络上?

推荐答案

UPDATE 2021


the main README in the flutterfire github年里,有一张"网?"这一栏记录哪些插件已经准备好用于Web.

目前,Flutter Web应用程序仅支持firebase_corefirebase_authcloud_firestorefirebase_functions.

正如@Frank van Puffelen提到的,要在Ffltter Web中使用FireBase的全部功能,请使用firebase-dart包装库.

还有一个Flutter Web Plugins Project Board,显示了哪些flatter插件在路由图上,以及它们处于哪个开发阶段.在本次编辑时,firebase_storage是网络路由图上的下一个插件.

Flutter相关问答推荐

如何在flutter中获得类似属性的float(CSS属性)

如何更新文本字段的基础上的选定下拉菜单?

我有一个问题:类型';()=>;Null';不是类型转换中类型';(Int)=>;void';的子类型

如何使页面浏览量达到活动页面所要求的高度?

在Flutter 小部件测试中找不到框中的AssetImage装饰

flatter_localizations错误在Null值上使用了Null判断运算符

处理 flutter/dart 模型中的空值

如何给按钮的边框半径?

更新番茄计时器值不会触发 Flutter Riverpod 中的alert 声音

在Flutter中为容器实现线性渐变背景动画

无法将Null类型的值分配给 const 构造函数中List类型的参数

如何计算 Firestore 集合中的文档数量?

提供者、存储库和服务之间有什么区别?

如何使这种相机叠加在Flutter 中?

Android: 从 URI 获取音频元数据

如何限制用户每 24 小时执行的操作数?

Pub get 尚未运行

Flutter Widget 测试:无法使用 find.byWidget() 找到小部件

Flutter Web App 未启动:脚本的 MIME 类型不受支持

Flutter - 检测手指何时进入容器