При работе с уведомлениями FCM устройства генерируют токены, которые обновляются очень часто, поэтому, если вам нужно отправить push-сообщение на устройство, вы должны знать свой токен, вы должны реализовать класс, который наследует FirebaseMessagingService, и перезаписатьМетод onNewToken, этот метод вызывается в фоновом режиме при каждом обновлении токена устройства.
/**
* Called if InstanceID token is updated. This may occur if the security of
* the previous token had been compromised. Note that this is called when the InstanceID token
* is initially generated so this is where you would retrieve the token.
*/
@Override
public void onNewToken(String token) {
Log.d(TAG, "Refreshed token: " + token);
// If you want to send messages to this application instance or
// manage this apps subscriptions on the server side, send the
// Instance ID token to your app server.
sendRegistrationToServer(token);
}
Рекомендуется отправлять этот токен на ваш сервер, чтобы оттуда вы могли отправлять push-сообщения на устройства с зарегистрированными токенами.Если вы хотите использовать первый токен, вы можете использовать:
FirebaseInstanceId.getInstance().getInstanceId();