FirebaseInstanceId.Instance.Token 已弃用,returns 在 Xamarin.Android 中使用 Xamarin.Firebase.Messaging 为空
FirebaseInstanceId.Instance.Token is depricated and returns null in Xamarin.Android using Xamarin.Firebase.Messaging
我正在使用 Xamarin.Firebase.Messaging v71.1740 nuget 插件开发一个 Xamarin.Android 项目,
我正在尝试获取已在 FirebaseMessagingService
扩展 class 方法中生成的 FCM 令牌,
public override void OnNewToken(string p0)
{
base.OnNewToken(p0);
// use token
}
正在使用,
var token = FirebaseInstanceId.Instance.Token;
但是这个 returns null
并且它也被列为过时了。
更新
GetInstanceId<InstanceIdResult>()
也 deprecated 支持 FirebaseMessaging.getToken()
用于 FCM 令牌 和 FirebaseInstallations.getId()
用于 实例标识符,
因此,FirebaseMessaging.getToken() 是现在获得 FCM 令牌、
的推荐方式
这就是您可以轻松食用它的方式,
var token = await FirebaseMessaging.Instance.GetToken();
和FirebaseInstallations.getId()是现在获得实例标识符、
的推荐方法
这就是您可以轻松食用它的方式,
var id = await FirebaseInstallations.Instance.GetId();
here, var
is of the Type
Java.Lang.Object
. Do, token.ToString()
to get the string
value.
原版
FirebaseInstanceId.Instance.Token
是 deprecated 支持 GetInstanceId<InstanceIdResult>()
,
所以,GetInstanceId<InstanceIdResult>()是推荐的方式,
这就是您的消费方式,
var instanceIdResult = await FirebaseInstanceId.Instance.GetInstanceId().AsAsync<IInstanceIdResult>();
var token = instanceIdResult.Token;
如果在 FirebaseInstanceId.Instance
上调用
时得到 null
var instanceIdResult = await FirebaseInstanceId.Instance.GetInstanceId().AsAsync<IInstanceIdResult>();
我要更新
Xamarin.Firebase.Messaging to version 71.1740.1
并将其添加到 yourproject.android.csproj
<PropertyGroup>
<AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger>
</PropertyGroup>
这对我有用(不确定两者是否都是强制性的)
哦,看,FirebaseInstanceId.Instance
是 deprecated too。
貌似比较新的方法是:
var token = await FirebaseMessaging.Instance.GetToken();
我正在使用 Xamarin.Firebase.Messaging v71.1740 nuget 插件开发一个 Xamarin.Android 项目,
我正在尝试获取已在 FirebaseMessagingService
扩展 class 方法中生成的 FCM 令牌,
public override void OnNewToken(string p0)
{
base.OnNewToken(p0);
// use token
}
正在使用,
var token = FirebaseInstanceId.Instance.Token;
但是这个 returns null
并且它也被列为过时了。
更新
GetInstanceId<InstanceIdResult>()
也 deprecated 支持 FirebaseMessaging.getToken()
用于 FCM 令牌 和 FirebaseInstallations.getId()
用于 实例标识符,
因此,FirebaseMessaging.getToken() 是现在获得 FCM 令牌、
的推荐方式这就是您可以轻松食用它的方式,
var token = await FirebaseMessaging.Instance.GetToken();
和FirebaseInstallations.getId()是现在获得实例标识符、
的推荐方法这就是您可以轻松食用它的方式,
var id = await FirebaseInstallations.Instance.GetId();
here,
var
is of theType
Java.Lang.Object
. Do,token.ToString()
to get thestring
value.
原版
FirebaseInstanceId.Instance.Token
是 deprecated 支持 GetInstanceId<InstanceIdResult>()
,
所以,GetInstanceId<InstanceIdResult>()是推荐的方式,
这就是您的消费方式,
var instanceIdResult = await FirebaseInstanceId.Instance.GetInstanceId().AsAsync<IInstanceIdResult>();
var token = instanceIdResult.Token;
如果在 FirebaseInstanceId.Instance
上调用
var instanceIdResult = await FirebaseInstanceId.Instance.GetInstanceId().AsAsync<IInstanceIdResult>();
我要更新
Xamarin.Firebase.Messaging to version 71.1740.1
并将其添加到 yourproject.android.csproj
<PropertyGroup>
<AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger>
</PropertyGroup>
这对我有用(不确定两者是否都是强制性的)
哦,看,FirebaseInstanceId.Instance
是 deprecated too。
貌似比较新的方法是:
var token = await FirebaseMessaging.Instance.GetToken();