Можно ли запускать / пробуждать приложение из фона, когда приходит push-уведомление, без необходимости нажатия пользователем на панель уведомлений? если можно то как? особенно на IOS.. (извините за плохой английский)
Приложение React Native Wake Up с использованием push-уведомлений FCM
Ответы (2)
Вы не можете запустить свое приложение, когда приходит push-уведомление без взаимодействия с пользователем.
Но вы можете разбудить свое приложение, когда устройство получает push-уведомление. Для этого вам нужно добавить ключ content-available
со значением 1
в словарь aps. Например
{
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
Поскольку вы используете FCM для отправки push-уведомлений, его полезная нагрузка будет выглядеть примерно так:
{
"to" : "<device>",
"priority": "high",
"content_available": true, <-- this key is converted to 'content-available:1'
"notification" : {
"body" : "noti body",
"title" : "noti title",
"link": "noti link "
}
}
Важная часть здесь content_available
и priority
.
И убедитесь, что в разделе возможностей проекта включены Фоновые режимы и установлен флажок удаленное уведомление.
Ссылки: Руководство по программированию локальных и удаленных уведомлений , ссылка на Stackoverflow1, Firebase FCM
Нет, это невозможно в iOS. Вы не можете запустить приложение, не нажав на баннер уведомлений или просто используя APN.
react-native-push-notification
, а точнее событиеonNotification
. Ему передается параметр со свойствомforeground
— здесь можно проверить, было ли получено уведомление, и находится ли приложение на переднем или заднем плане. - person Dan   schedule 04.04.2018