c# - 警告 CS0618:“FirebaseInstanceIdService”已过时:“此类在此 android 平台中已过时
问题描述
如果我使用教程中提供的代码,我会收到以下警告:
警告 CS0618:“FirebaseInstanceIdService”已过时:“此类在此 android 平台中已过时”
警告 CS0672:成员“MyFirebaseIIDService.OnTokenRefresh()”覆盖过时的成员“FirebaseInstanceIdService.OnTokenRefresh()”。将 Obsolete 属性添加到“MyFirebaseIIDService.OnTokenRefresh()”。
警告 CS0618:“FirebaseInstanceId.Token”已过时:“已弃用”
我不明白我是否可以像现在这样使用此代码,或者是否有必要更改某些内容以使代码在当前的 Android 设备上运行。
有必要改代码吗?
我的 AndroidManifest.xml 设置:最低 Android 版本 = Android 5.0(API 级别 21),目标 Android 版本 = Android 9.0(API 级别 28)
MyFirebaseIIDService.cs:
using System;
using Android.App;
using Firebase.Iid;
using Android.Util;
namespace Androidproject
{
[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseIIDService : FirebaseInstanceIdService
{
const string TAG = "MyFirebaseIIDService";
public override void OnTokenRefresh()
{
var refreshedToken = FirebaseInstanceId.Instance.Token;
Log.Debug(TAG, "Refreshed token: " + refreshedToken);
SendRegistrationToServer(refreshedToken);
}
void SendRegistrationToServer(string token)
{
// Add custom implementation, as needed.
}
}
}
您可以在本教程中找到代码示例:https ://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=windows
解决方案
当您更新到 Xamarin.Firebase.Messaging 版本 71.1740.0 时,由于 Google 库中的更改,您开始收到有关已弃用方法的编译器警告。你不再需要FirebaseInstanceIdService
所以继续删除它。现在您从您的FirebaseMessagingService.OnNewToken
方法中获取设备令牌。
推荐阅读
- java - 使用带有 spring data jpa 的weld-junit 作为轻量级 arquillian 替代品的经验?
- flutter - 错误显示:多个小部件使用相同的 GlobalKey
- node.js - 如何知道 node 是否安装了 homebrew 或 nvm?
- ios - 为什么某些 Apple Wallet 生成的 QR 码包含这么多额外的垃圾?
- sql - 将 JSON 文本插入 DB2 表
- java - java.lang.NumberFormatException:对于输入字符串:“”
- asp.net-mvc - 用于具有 XML 转换的 MVC 项目的 Azure CD 管道
- excel - 如果有两位数,则来自实验室天平的输入会下降一个整数。即:2.453 = 2.453 但 2.344 = 2.340
- reactjs - 是否有用于 React Function 组件的类型,包括返回片段、空值、字符串等?
- python - 如何使用 selenium python 获取网站 SSL 证书到期、颁发者等的详细信息?