如何在Flutter中为网络和Android使用cloud_firestore?

时间:2019-09-15 21:14:22

标签: flutter google-cloud-firestore flutter-web

我有一个Flutter应用程序,该应用程序可以按预期在Android上运行,但是如果我要针对Web对其进行编译,则会出现错误。

它必须处理依赖项cloud_firestore。如果我使用依赖项Firebase,则可以在网络上正常运行,但现在不能在android上运行。.

这是我使用cloud_firestore(针对网络进行编译)得到的错误消息:

Skipping compiling pay_balance|lib/main_web_entrypoint.dart with ddc because some of its
transitive libraries have sdk dependencies that not supported on this platform:

firebase_core|lib/firebase_core.dart

https://github.com/dart-lang/build/blob/master/docs/faq.md#how-can-i-resolve-skipped-compiling-warnings

有人可以帮助我吗?也许对firestore有另一个依赖关系(我没有找到其他在Web和android上工作的人。)

编辑:我已经将firebase-dart插件用于网络! ->仅对网络有效,对我而言不适用于android->我同时需要两者!

或者有什么方法可以在导入cloud_firestore时使用两个软件包而不会在网络上出现编译错误?

3 个答案:

答案 0 :(得分:4)

如果要在Web和Mobile上使用Firebase,则必须发挥创意。我创建了 animation: offsetAnimation, builder: (context, child) { return Transform.translate( offset: offsetAnimation.value, child: Container( ....``` 插件,该插件在iOS和Android上使用Mobile SDK fb_auth,在网络上使用firebase_auth软件包。这将为您提供一个用于身份验证的插件。

https://pub.dev/packages/fb_auth

我正在从事仓储和仓储工作,但尚未准备就绪。

我还创建了一篇有关如何用颤动做到这一点的文章:

https://medium.com/@rody.davis.jr/how-to-build-a-native-cross-platform-project-with-flutter-372b9e4b504f

您必须使用动态导入,以便在编译时树会摇晃不需要的内容,并且不会引发错误。

当前,这是在同一项目中正式使用这两个插件的唯一方法。

答案 1 :(得分:2)

编辑:现已添加cloud_firestore

Web现在支持两个FutterFire插件。 FlutterFire plugins supporting web firebase_auth firebase_core

现在还支持

cloud_firestore

答案 2 :(得分:0)

FlutterFire插件不支持Web。 plugin page仅提供了适用于Android和iOS的说明。