Одни говорят, такое возможно, другие - нет. В
документации сказано:
Your app can still receive data messages when it is in the background...
Но как? Перепробовал разные варианты, но нужного результата пока не достиг.
Например. Приложение не активно. Отправляю такое сообщение:
{
"to": "...",
"priority": "high",
"notification": {
"title": "Заголовок",
"body": "Текст сообщения",
"sound": "default"
},
"data": {
"title": "Заголовок",
"message": "Текст сообщения",
"payload": {
"key_one": "val_one",
"key_two": "val_two"
},
"content_available": true,
"timestamp": "2017-04-17 16:51:58"
}
}
В трее появляется notification. Но:
- Если по нему тапнуть, то открывается сообщение и при этом это же самое уведомление появляется в трее еще раз (это срабатывает мой внутренний обработчик data payload).
- Если же открыть приложение не из уведомления, а c основной иконки на рабочем столе, то дублирующее уведомление не появляется. Но и payload data при этом не обрабатывается.
Мне же нужно чтобы при получении уведомления не только оповестить об этом пользователя, но и физически произвести изменения в БД приложения.
Может я не в ту сторону копаю?