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 的简单总和吗?
ScrollView 问题中的 Xamarin.Forms 捏手势