我想在我的Xamarin Android项目中实现FirebaseMessagingService的OnNewToken((方法,该项目使用Firebase Cloud Messaging,因为FirebaseInstanceIdService
和OnTokenRefreshed()
已被弃用。
我试过这个
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class MessagingService : FirebaseMessagingService
{
const string TAG = "MyFirebaseMsgService";
public override void OnNewToken(string token)
{
Log.Debug(TAG, "Refreshed token: " + token);
SendRegistrationToServer(token);
}
public void SendRegistrationToServer(string token)
{
...
}
}
但是我的OnNewToken((没有被击中。我在干什么。我需要在我的安卓清单文件中包含任何内容吗?我找不到有关此更新的任何特定于Xamarin Android的文档。请帮忙。非常感谢。
另外,请提供从活动获取令牌的方法。谢谢
public class MyActivity : AppCompatActivity, Android.Gms.Tasks.IOnSuccessListener
{
public void OnSuccess(Java.Lang.Object result)
{
var token = result.Class.GetMethod("getToken").Invoke(result).ToString();
Log.Debug(TAG, "InstanceID token: " + token);
}
}
只需致电
FirebaseInstanceId.Instance.GetInstanceId().AddOnSuccessListener(this);