Я пытаюсь отправить некоторые данные своим пользователям через новую службу уведомлений Pushbase Firebase.
Я добавляю элементы пользовательских данных "ключ-значение" с "Текст сообщения" - "dbupdate", чтобы определить, есть ли сообщение обновления или обычное push-уведомление, которое я хочу показать своим пользователям.
В моем приемнике я проверяю, есть ли пользовательские данные и запускается обновление, если это правда. Если это не так, я показываю нормальное уведомление с текстовым сообщением.
Работает только при открытии моего приложения. Если приложение закрыто, уведомление показывается в любом случае, а моя проверка if даже не работает,
некоторый код:
public class PushMessageService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
        Map<String,String> data = remoteMessage.getData();
        String link = data.get("link");
        String name = data.get("name");
        if (link!=null) {
            Log.d("link",link);
            Log.d("name",name);
            UpdateHelper.Go(this, link, name);
        }
        else {
            NotificationCompat.Builder mBuilder =
                    new NotificationCompat.Builder(this)
                            .setSmallIcon(R.drawable.ic_shop_white_24dp)
                            .setAutoCancel(true)
                    .setContentTitle(remoteMessage.getNotification().getTitle())
                   .setContentText(remoteMessage.getNotification().getBody());
            NotificationManager mNotificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            mNotificationManager.notify(5, mBuilder.build());
        }
    }
}
пример notficiation здесь
Почему это так? Что можно сделать для запуска моего кода, даже когда приложение закрыто?



