我有一个Xamarin.Forms应用程序,我想在每个平台上添加推送通知。我想要的Android应用程序(为了获得令牌)使用Xamarin.Firebase.Messaging包连接到Firebase。我现在处于这样的情况:我无法将Xamarin.Firebase.Messaging包添加到我的Android应用程序,因为Xamarin.Android.Support.v4的版本约束不兼容。是否真的不可能在Xamarin.Forms应用程序中使用此包?
这是我的参考链:
Android App
--- 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 /推送通知的其他最佳做法?我实际需要的只是一个客户端组件来获取客户端的令牌。我已经部署了所有服务器端的东西。
答案 0 :(得分:0)
这并非不可能,但您需要分叉Xamarin.Forms代码并更改对包的引用。在分配source后,这应该非常简单。只需修改forms nuspec file即可更改依赖关系并重新编译包。
Xamarin.Forms硬编码对Google Play库的引用,因为它们经常会引入破坏Xamarin.Forms内容的更改。无法保证这将起作用,新的支持库可能会破坏您在应用程序中使用的内容。这是我知道的让事情发挥作用的唯一方法。