首页 > 解决方案 > 警告 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

标签: c#firebasexamarin.androidfirebase-cloud-messaging

解决方案


当您更新到 Xamarin.Firebase.Messaging 版本 71.1740.0 时,由于 Google 库中的更改,您开始收到有关已弃用方法的编译器警告。你不再需要FirebaseInstanceIdService所以继续删除它。现在您从您的FirebaseMessagingService.OnNewToken方法中获取设备令牌。


推荐阅读