Да, лучше всего перенести ваш код в FCM.Пожалуйста, проверьте документацию :
Измените MyInstanceIDListenerService
на расширение FirebaseInstanceIdService
и обновите код, чтобы прослушивать обновления токена и получать токен всякий раз, когда генерируется новый токен.
MyInstanceIDListenerService.java
До
public class MyInstanceIDListenerService extends InstanceIDListenerService {
...
@Override
public void onTokenRefresh() {
// Fetch updated Instance ID token and notify our app's server of any changes (if applicable).
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);
}
}
MyInstanceIDListenerService.java
После
public class MyInstanceIDListenerService extends FirebaseInstanceIdService {
...
/**
* Called if InstanceID token is updated. This may occur if the security of
* the previous token had been compromised. Note that this is also called
* when the InstanceID token is initially generated, so this is where
* you retrieve the token.
*/
// [START refresh_token]
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d(TAG, "Refreshed token: " + refreshedToken);
// TODO: Implement this method to send any registration to your app's servers.
sendRegistrationToServer(refreshedToken);
}
}