我正在尝试让我的flutter应用程序在浏览器中正常运行,这取决于firebase_database。确实没有有关如何执行此操作的任何文档,但是我根据firebase_core和firebase_auth文档进行了一些假设:
https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_core/firebase_core_web
https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_auth/firebase_auth_web
我的应用程序可以在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应用程序中运行?
在flutterfire github的主要自述文件中,有一个“ Web?”。列,以说明哪些插件可用于网络。
目前,只有firebase_core,firebase_auth,cloud_firestore,和firebase_functions在扑web应用程序的支持。
firebase_core
firebase_auth
cloud_firestore
firebase_functions
如@Frank van Puffelen所述,要在flutter网站中使用firebase的全部功能,请使用firebase- dart包装器库。
还有一个Flutter Web插件项目委员会,显示了路线图上哪些flutter插件以及它们处于什么开发阶段。在进行此编辑时,它firebase_storage是网络路线图上的下一个插件。
firebase_storage