FirebaseInstanceId.Instance 正在返回 null

FirebaseInstanceId.Instance is returning null

我想在我的 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 始终为 null

你很幸运,因为就在最近我遇到了同样的问题。我假设您还使用 Xamarin.Firebase.Auth 和所有相关的包。最新版本有问题,由于某些原因 Xamarin.Firebase.Auth 和 Xamarin.Firebase.Messaging 不喜欢对方。将两个版本都降级到 60.1142.1(您必须将 GoogleService.Base 降级到较低版本,我个人会先删除这两个包,然后使用版本 60.1142.1 重新添加它们)。 这解决了我的问题,在 Mac 我的 Xamarin 上奇怪地导致推送通知不起作用,但在 windows 版本上实例为空。