Я отправляю push-уведомления с помощью Firebase Admin Java SKD , а в моем приложении Ionic я использую phonegap-plugin-push .
Моя проблема в том, что, когда мое приложение находится в фоновом режиме, функция push.on ('уведомление', функция (данные) {} не вызывается.
Я думаю, что проблема упомянута здесь .
Проблема возникает только на устройствах Android, на устройствах iOS функция уведомлений вызывается без проблем, даже если приложение находится в фоновом режиме.
Решение говорит, что мы должны установить «content-available» равным 1, чтобы заставить функцию вызываться.
Класс com.google.firebase.messaging.Aps предоставляет доступ к свойствам содержимого, но я не могу найти то же самое в классе AndroidNotification.
Как я могу отправить свойство "content-available" вместе с полезной нагрузкой в Android?
И это действительно проблема? Почему iOS не нужно это свойство?
Это код, который я использую для отправки уведомления:
AndroidConfig androidConfig = AndroidConfig.builder()
.setTtl(Duration.ofMinutes(2).toMillis()).setCollapseKey("key")
.setPriority(Priority.HIGH)
.setNotification(AndroidNotification.builder().setTag("tag").build()).build();
ApnsConfig apnsConfig = ApnsConfig.builder()
.setAps(Aps.builder().setCategory("category").setThreadId("thread").build()).build();
Message message = Message.builder().putAllData(data).setTopic("topic")
.setApnsConfig(apnsConfig).setAndroidConfig(androidConfig)
.setNotification(
new Notification("Title", "Message"))
.build();
String response = FirebaseMessaging.getInstance().sendAsync(message).get();