Xamarin Forms 2.3.3.175 和 Xamarin.Firebase.Messaging 不可能?

Posted

技术标签:

【中文标题】Xamarin Forms 2.3.3.175 和 Xamarin.Firebase.Messaging 不可能?【英文标题】:Xamarin Forms 2.3.3.175 and Xamarin.Firebase.Messaging impossible? 【发布时间】:2017-01-05 19:45:32 【问题描述】:

我有一个 Xamarin.Forms 应用程序,我想在其中向每个平台添加推送通知。我想要(为了获取令牌)使用 Xamarin.Firebase.Messaging 包连接到 Firebase 的 android 应用程序。我现在处于无法将包 Xamarin.Firebase.Messaging 添加到我的 Android 应用程序的情况,因为 Xamarin.Android.Support.v4 的版本约束不兼容。真的不能在 Xamarin.Forms 应用程序中使用这个包吗?

这是我的参考链:

安卓应用

--- Xamarin.Forms 2.3.3.175

------ Xamarin.Android.Support.v4 (= 23.3.0)

--- Xamarin.Firebase.Messaging 32.961.0

------ Xamarin.GooglePlayServices.Basement (= 32.961.0)

--------- Xamarin.Android.Support.v4 (>= 24.2.1)

如您所见,Xamarin.Forms 恰好需要 23.3.0,而唯一稳定的 Firebase 至少需要 24.2.1。

在 Xamarin.Forms 应用中使用 Firebase/推送通知是否有其他最佳实践?我真正需要的是一个客户端组件来获取客户端的令牌。我已经部署了所有服务器端的东西。

【问题讨论】:

【参考方案1】:

这并非不可能,但您需要分叉 Xamarin.Forms 代码并更改对包的引用。在你分叉source 之后,这应该很简单。只需修改forms nuspec file 即可更改依赖关系并重新编译包。

Xamarin.Forms 对对 Google Play 库的引用进行硬编码,因为它们经常引入会破坏 Xamarin.Forms 中的内容的更改。不能保证这会起作用,新的支持库可能会破坏您在应用程序中使用的某些内容。这是我所知道的让事情正常进行的唯一方法。

【讨论】:

谢谢,我试过了,但无法让应用程序运行:MonoDroid System.TypeLoadException: 无法使用令牌 01000196 解析类型。看起来 Xamarin.Forms 不能用于 Firebase ......很奇怪。

以上是关于Xamarin Forms 2.3.3.175 和 Xamarin.Firebase.Messaging 不可能?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]

Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?

Xamarin.Forms 手势密码实现

ScrollView 问题中的 Xamarin.Forms 捏手势

xamarin.forms - 音量增大和减小键的事件侦听器

Xamarin.Forms 和 XamarinMediaManager:如何管理错误案例?