#android #android-notifications #firebase-notifications
#Android #android-уведомления #firebase-уведомления
Вопрос:
Я знаю, что обрабатывать сообщения в фоновом приложении
Когда ваше приложение работает в фоновом режиме, Android направляет уведомления в системный трей. Пользователь, нажимая на уведомление, по умолчанию открывает панель запуска приложений.
Сюда входят сообщения, содержащие как уведомления, так и полезную нагрузку данных. В этих случаях уведомление доставляется в системный трей устройства, а полезная нагрузка данных доставляется в дополнение к намерению вашей пусковой установки.
но мое приложение должно определять, когда уведомление поступает для выполнения операции (получения данных с сервера), потому что при поступлении уведомления должны загружаться данные, но, когда приложение работает в фоновом режиме, я не могу знать, что уведомление поступает, пока пользователь не нажмет уведомление, приложение откроется, и я загружу данные, но в некоторых случаях пользователь не нажимает уведомление, поэтому данные не загружены
итак, мой вопрос: как узнать, когда приложение получает уведомление в случае, если приложение работает в фоновом режиме?
Комментарии:
1. Отправьте полезную нагрузку только для данных.
2. да, я знаю эту опцию, но нет способа отправить обычным способом и узнать, когда системный трей обрабатывает уведомления?
3. Я вижу. Вы должны отредактировать свой вопрос, чтобы узнать, как обрабатывать уведомления из системного трея? или что-то в этом роде.
Ответ №1:
Вы получите вызов метода обратного onMessageReceived
вызова в FirebaseMessagingService в любом случае, если приложение находится в фоновом режиме или на переднем плане, если и только если вы отправляете данные по клавише «data». Например —
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
Пользовательское уведомление можно отобразить, создав его в методе обратного вызова onMessageReceived