So, "FirebaseInstanceIdService" gives a warning it is depreciated and obsolete.
"OnTokenRefresh()" doesn't work anymore, and we should instead use:
public void onNewToken(String s)
{
Log.d("FCM_TOKEN", s);
// save in SharedPreference for future use
}
But - in order to get the token in MainActivity, I've previously used:
FirebaseInstanceId.Instance.Token
This is also deprecated, and I could only find Java solution for this:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String token = instanceIdResult.getToken();
Log.d("FCM_TOKEN",token);
}
});
Could you please let me know how can I get the current token in C# (Xamarin)?
Question #2: is this OK implementation for OnNewToken()
in C#:
public class MessagingService : FirebaseMessagingService
{
const string TAG = "MyFirebaseMsgService";
public override void OnNewToken(string token)
{
Log.Debug(TAG, "Refreshed token: " + token);
SendToServer(token);
}
}
Thanks a bunch!