警告CS0618:“ FirebaseInstanceIdService”已过时:“此类在此android平台中已过时

时间:2019-07-19 14:00:10

标签: c# firebase xamarin.android firebase-cloud-messaging

如果使用本教程中提供的代码,则会收到以下警告:

  

警告CS0618:“ FirebaseInstanceIdService”已过时:“此类   在这个android平台中被淘汰了

     

警告CS0672:成员'MyFirebaseIIDService.OnTokenRefresh()'会覆盖过时的成员'FirebaseInstanceIdService.OnTokenRefresh()'。将过时属性添加到“ 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

1 个答案:

答案 0 :(得分:0)

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