Я пытаюсь отобразить сообщение с данными в моем трее Android, когда приложение закрыто пользователями, то есть когда пользователь перетаскивает приложение в сторону в списке последних приложений. Хотя сообщения с данными просто принимаются так:
- Приложение закрыто. Сообщение данных отправлено.
- Сообщение не получено, когда приложение закрыто.
- Приложение открыто.
- Через 4 ~ 5 минут сообщение с данными принимается и отображается в трее Android.
Чтобы добиться этого, я использую реагировать-нативный-firebase lib, следуя его документам .
import firebase from 'react-native-firebase';
import type { RemoteMessage } from 'react-native-firebase';
export default async (message: RemoteMessage) => {
const notifPromise = new Promise((resolve, reject) => {
let notification = new firebase.notifications.Notification();
notification.android.setPriority(firebase.notifications.Android.Priority.High);
notification.android.setChannelId("test-channel");
resolve(firebase.notifications().displayNotification(notification));
});
console.log("MESSAGE IN BACKGROUND OR APP CLOSED");
return notifPromise.resolve();
}
Приведенный выше код отлично работает в фоновом режиме, я имею в виду, когда приложение просто «свернуто» для вторичного плана.
AndroidManifest.xml, HeadlessTask и MainApllication.java теоретически соответствуют документам. Я просто показываю пустой интерфейс в трее Android для проверки.
Сообщение от Почтальона:
{
"to": "erVxmCT6rgA:APA91bGn6q9...",
"data": {
"custom1": "custom1",
"custom2": "custom2"
}
}
Вопросы : Что может быть не так, если он работает на фоне? Почему происходит такое поведение?