在 Flutter Web 和移动应用中使用 Firebase
Posted
技术标签:
【中文标题】在 Flutter Web 和移动应用中使用 Firebase【英文标题】:Use Firebase in both Flutter web AND mobile app 【发布时间】:2020-03-21 18:39:05 【问题描述】:我正在开发一个 Flutter 应用程序,该应用程序同时编译为网页版和移动版。在我决定使用 Firebase 之前,一切都很顺利。
我发现有许多库允许在 Flutter 中使用 Firebase,用于移动应用程序。我还找到了一个允许在 Flutter Web 应用中使用 Firebase 的库。
问题是:Web 版本的 Firebase 插件使用 "dart:html"
,Flutter 应用的移动版本不支持该插件。另一方面,网络版本不支持移动库,我在网络应用程序中使用它们时总是得到PlatformException
。
所以这是我的问题:有谁知道 Flutter 的 Firebase 库,它适用于移动版和网页版,所以我只需要在我想要的平台上编译,而无需更改之前的代码?
编辑: 我知道有一种方法可以为 android 或 ios 版本编写特定代码,但我找不到任何为 Web 版本编写特定代码的线索。这应该是解决问题的另一种方法...
有什么想法吗?
【问题讨论】:
【参考方案1】:目前没有一个 Flutter+Firebase 库可以同时适用于 Web 和移动应用程序,因此您需要使用两个(不兼容的)库。
正在努力纠正这种情况,但没有发布时间表。
另见:
这个Github issue关于兼容性 How to use cloud_firestore in flutter for web and android?【讨论】:
感谢您的回答。今天试试这个,但它似乎是我想要的。【参考方案2】:您使用的是什么 firebase 插件?因为只有有限的firebase插件可以在网络上使用,包括firebase_analytics
firebase_auth
cloud_firestore
cloud_functions
firebase_messaging
firebase_storage
firebase_core
如果您使用的是除这些之外的任何 firebase 插件,那么它们不支持网络
【讨论】:
以上是关于在 Flutter Web 和移动应用中使用 Firebase的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 中用于 Web、移动和桌面应用程序的视频播放器?
无法分别构建 Flutter Web 和 Flutter Mobile 应用