插件和版本与 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 消息传递

Unity3D Firebase 访问冲突

Firebase FCM 与 google plus cordova 插件冲突 - IOS

科尔多瓦地理定位插件和科尔多瓦 Firebase 插件冲突

async/await 与 firebase .on() 数据库监听器

使用冲突的 android 组件/依赖版本(play-services-location、firebase 等)构建 cordova-android