Web中的Flutter Firebase实时数据库

发布于 2021-01-31 15:41:56

我正在尝试让我的flutter应用程序在浏览器中正常运行,这取决于firebase_database。确实没有有关如何执行此操作的任何文档,但是我根据firebase_core和firebase_auth文档进行了一些假设:

我的应用程序可以在iOS和android上运行,但是我无法使数据库在波动的网络中正常工作。

我已经设置了index.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>

但是,当我尝试使用Firebase数据库时,在日志中出现错误:

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>

有什么方法可以使实时数据库在Web上的flutter应用程序中运行?

关注者
0
被浏览
94
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    flutterfire
    github的主要自述文件中
    ,有一个“ Web?”。列,以说明哪些插件可用于网络。

    目前,只有firebase_corefirebase_authcloud_firestore,和firebase_functions在扑web应用程序的支持。

    如@Frank van Puffelen所述,要在flutter网站中使用firebase的全部功能,请使用firebase-
    dart
    包装器库。

    还有一个Flutter
    Web插件项目委员会
    ,显示了路线图上哪些flutter插件以及它们处于什么开发阶段。在进行此编辑时,它firebase_storage是网络路线图上的下一个插件。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看