使用 Firebase 云消息传递在 Xamarin 跨平台上的聊天应用程序

Posted

技术标签:

【中文标题】使用 Firebase 云消息传递在 Xamarin 跨平台上的聊天应用程序【英文标题】:Chat Application on Xamarin Cross Platform using Firebase Cloud Messaging 【发布时间】:2017-01-16 08:35:17 【问题描述】:

我想使用 Firebase Cloud Messaging 在 Xamarin 跨平台上开发聊天应用程序。但是 Xamarin.Forms 2.3.3.180 依赖于 Xamarin.android.Support.v4 23.3.0,而 Xamarin.GooglePlayServices.Basement 32.961 依赖于 Xamarin.Android.Support.v4 24.2.1。

如何解决?

或者

还有其他方法吗?

【问题讨论】:

【参考方案1】:

这可以通过几种方式解决

    使用具有相同 Android 支持依赖项的 Firebase 版本 转到Xamarin.Forms github,查看存储库并升级此依赖项。然后构建您自己的版本或发出 Pull Request 并等待它发布 不要直接在您的应用中使用 Firebase,而是使用您自己的后端,该后端反过来与 Firebase 通信。 等待 Xamarin.Forms 团队修复此依赖项

你选择哪一个完全取决于你。您的任务是权衡这些方法的利弊。有些人比其他人花费更多的时间。

我个人认为,1. 或 2. 可能是您的最佳选择。 Xamarin.Forms 是开源的,你可以对源代码做任何你想做的事情。包括升级依赖项等。当然,欢迎对项目提出拉取请求,如果你有一个有益于所有其他人的修复,我鼓励你提出一个。确保在开始一项大任务之前与 Xamarin.Forms 团队交谈,这样您就不会浪费时间做他们不想要或不在路线图上的事情。

【讨论】:

【参考方案2】:

来自 Cheesebaron 的选项是一个很好的总结。我假设您使用的是 Xamarin.Firebase.Messaging。

如果您想使用选项 #1,Xamarin.Firebase.Messaging 组件版本 32.940.0-beta3 是最新的组件,其依赖项仍然允许 Xamarin.Forms 的各种 Xamarin.Android.Support 23.3.0 库需要。要查看 32.940.0-beta3 版本,您必须启用“预发布”版本。

虽然它被标记为 beta 版本,但它对我有用,希望 Forms 能够很快升级 Android 支持库...

【讨论】:

以上是关于使用 Firebase 云消息传递在 Xamarin 跨平台上的聊天应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kotlin 的 Firebase 云消息传递 Android

Firebase 云消息传递消息日志

Firebase 云消息传递重复通知

使用.p8文件后未收到iOS Firebase云消息传递通知

Firebase Admin SDK、FCM 云消息传递

如何使用 FCM(Firebase 云消息传递)制作紧凑通知?