如果使用本教程中提供的代码,则会收到以下警告:
警告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
答案 0 :(得分:0)
当您更新到Xamarin.Firebase.Messaging版本71.1740.0时,由于Google库中的更改,您开始收到有关过时方法的编译器警告。您不再需要FirebaseInstanceIdService
,请继续删除它。现在,您可以从FirebaseMessagingService.OnNewToken
方法中获取设备令牌。