Я пытаюсь сохранить данные в Firebase Data после получения уведомления от FCM. Я хочу сохранить данные из класса FirebaseMessagingService во всех случаях (приложение убито / background / foreground /). Я использую данные полезной нагрузки и могу успешно создавать уведомления все время, независимо от того, находится приложение в фоновом режиме / на заднем плане / убито.
Уведомления отображаются всегда на обоих устройствах, и данные принимаются
@Override
public void onMessageReceived(@NotNull RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (remoteMessage.getData().size() > 0) {
String notificationID= remoteMessage.getData().get("notificationID");
String notificationMessage= remoteMessage.getData().get("notificationMessage");
****** HERE IS CODE TO SHOW NOTIFICATION *****
// Save data after showing Notification
DatabaseReference ref= FirebaseDatabase.getInstance().getReference();
ref
.child("Notifications")
.child(notificationID)
.setValue("received").addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d("Notification saved", notificationID);
}
});
}
}