插件和版本与 Firebase 消息冲突
Posted
技术标签:
【中文标题】插件和版本与 Firebase 消息冲突【英文标题】:Plugin and Version Conflict with Firebase Messaging 【发布时间】:2021-06-06 15:02:51 【问题描述】:我有一个当前在 Play Store 上运行的应用程序,使用 androidStudio 构建,但我想添加向用户添加通知的功能。有人告诉我,最好的方法是通过 Firebase 消息传递。
我添加了插件(版本 9.0.0),但这最初导致了与 Dart SDK 版本的冲突问题。我有 2.10 但需要 2.12 所以我做了以下事情:
-
升级 Flutter - 所以我使用的是 2.12 版
然后开始升级所有插件版本,然后由于 2.12 版本而导致冲突
由于 Flutter_Form_Builder,我遇到了第一个重大冲突。即使是最新版本也需要 Intl 插件版本为 0.16.1,但 Firebase Auth 需要版本 0.17.0
尝试了这里的黑客,但没有成功 - https://github.com/danvick/flutter_form_builder/issues/634
然后我降级回 2.10 版
由于冲突消息而改回插件版本
尝试安装早期版本的 Firebase Messaging (7.0.2) - 但这没有奏效,因为它产生了单独的重大冲突。 Firebase Messaging (7.0.2) 需要 Firebase Core 0.5.1,而 Cloud Firestore 插件需要 Firebase Core 0.7.0
我相信你们中的许多人以前来过这里很多次 - 但这是我第一次。
我似乎遇到的最大冲突是我不能同时拥有 Flutter Form Builder 和 Firebase Messaging,并且要么必须等待 Flutter Form Builder 发布新版本,要么使用这个插件重建整个应用程序(很多东西都是围绕它建立的)。
在我放弃 Firebase 消息传递之前,我只想确保这里没有其他我看不到的选项?
【问题讨论】:
【参考方案1】:如果可行,你可以试试吗?我刚刚测试过这个。我能够成功地“flutter pub get”。
dependencies:
# other deps here.
firebase_core: 0.5.3
firebase_messaging: 7.0.3
firebase_auth: 0.18.4+1
cloud_firestore: 0.14.4
flutter_form_builder: 4.2.0
# other deps here.
dependency_overrides:
intl: "<0.16.0"
我不确定这些 firebase 软件包之间是否存在主要的 API 差异。但您可能想试试这些版本的运气。
【讨论】:
感谢您的回复,但这里的问题是 firebase_core: 0.5.3 - 这与 cloud_firestore: ^0.16.0+1 冲突,因为它需要 firebase_core: 0.7.0。如果将 cloud_firestore 降到 0.13.0+1,它会与其他东西发生冲突,从而导致另一个循环 哦等等 - 我没有看到你的 cloud_firestore 降到了 0.14.4 ........让我试试! 天才——这工作!!!!!!!!! - 非常感谢! ..........将确认这是答案并奖励赏金,但 SO 说我必须再等 15 小时,但会在可能的时候这样做。再次感谢以上是关于插件和版本与 Firebase 消息冲突的主要内容,如果未能解决你的问题,请参考以下文章
Flutter firebase 版本冲突 firebase 消息传递
Firebase FCM 与 google plus cordova 插件冲突 - IOS
async/await 与 firebase .on() 数据库监听器
使用冲突的 android 组件/依赖版本(play-services-location、firebase 等)构建 cordova-android