我想在我的xamarin.android项目中获取fcm令牌。我正在使用的Nugets
<package id="Xamarin.Firebase.Common" version="71.1610.0" targetFramework="monoandroid90" />
<package id="Xamarin.Firebase.Core" version="71.1601.0" targetFramework="monoandroid90" />
<package id="Xamarin.Firebase.Iid" version="71.1710.0" targetFramework="monoandroid90" />
<package id="Xamarin.Firebase.Iid.Interop" version="71.1601.0" targetFramework="monoandroid90" />
检索令牌的代码
FirebaseInstanceId instance = FirebaseInstanceId.Instance;
Android.Gms.Tasks.Task instanceId = instance.GetInstanceId();
instanceId.AddOnSuccessListener(this, this);
但是FirebaseInstanceId.Instance
始终为空
[您很幸运,因为最近我遇到了同样的问题。我假设您还使用Xamarin.Firebase.Auth及其所有相关包。最新版本存在问题,出于某种原因,Xamarin.Firebase.Auth和Xamarin.Firebase.Messaging彼此不喜欢。将两个版本都降级到60.1142.1(您必须将GoogleService.Base降级到较低版本,我个人将首先删除这两个软件包,然后使用60.1142.1版本重新添加它们)。这解决了我的问题,这在Mac上的Xamarin上很奇怪,导致推送通知不起作用,但是在Windows版本上,实例为null。