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 版本上实例为空。
我想在我的 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 版本上实例为空。