我想在我的使用Firebase Cloud Messaging的Xamarin Android项目中从FirebaseMessagingService实现OnNewToken()方法,因为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()没有被击中。我在干什么我是否需要在Android清单文件中包含任何内容?我找不到有关此更新的Xamarin Android专用文档。请帮忙。非常感谢。
也请提供从Activity获得令牌的方法。谢谢
答案 0 :(得分:0)
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);