在 Xamarin.Forms 安卓系统中保存 Firebase 设备令牌可以通过以下步骤进行:
MyFirebaseInstanceIdService
,继承自 FirebaseInstanceIdService
类。MyFirebaseInstanceIdService
类中重写 OnTokenRefresh
方法,该方法会在设备令牌发生改变时被调用。[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseInstanceIdService : FirebaseInstanceIdService
{
public override void OnTokenRefresh()
{
string refreshedToken = FirebaseInstanceId.Instance.Token;
// 在此处将 refreshedToken 存储到本地,以供后续使用
}
}
AndroidManifest.xml
文件中注册 MyFirebaseInstanceIdService
类。<service android:name=".MyFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
OnTokenRefresh
方法中,可以将 refreshedToken
存储到本地,以供后续使用。例如,可以使用 Xamarin.Essentials 的 Preferences API 进行简单的本地存储。using Xamarin.Essentials;
public override void OnTokenRefresh()
{
string refreshedToken = FirebaseInstanceId.Instance.Token;
Preferences.Set("FirebaseDeviceToken", refreshedToken);
}
注意:为了使用 Xamarin.Essentials 的 Preferences API,需要在 Xamarin.Forms 项目中添加 NuGet 包引用,安装 Xamarin.Essentials
。
using Xamarin.Essentials;
string deviceToken = Preferences.Get("FirebaseDeviceToken", string.Empty);
这样,你就可以在 Xamarin.Forms 安卓系统中成功保存和获取 Firebase 设备令牌。
在这个过程中,Firebase Messaging SDK 提供了与 Firebase 云服务集成的功能,使用 FirebaseInstanceId 类可以获取设备的唯一标识令牌。使用 Xamarin.Essentials 的 Preferences API 可以方便地在本地存储中保存设备令牌,以供应用程序的其他部分使用。
推荐的腾讯云相关产品:腾讯云移动推送服务(信鸽推送) 产品介绍链接地址:https://cloud.tencent.com/product/TPNS
领取专属 10元无门槛券
手把手带您无忧上云