выполнение кода в ответ на уведомление iOS

Мне нужно выполнить код, когда мое приложение для iOS получает уведомление, без какого-либо взаимодействия с пользователем.

если уведомление является тихим (т. е. не предупреждающим), уведомление DidReceiveRemoteNotification() срабатывает как в фоновом, так и в активном режимах.

Однако тихие уведомления имеют относительно низкий приоритет, а их доставка даже не гарантируется, поэтому для нас это неприемлемый вариант; нам нужно использовать оповещения.

Если уведомление является уведомлением о предупреждении, DidReceiveRemoteNotification() срабатывает, когда приложение находится в режиме переднего плана. Однако он не срабатывает в фоновом режиме.

Как я могу выполнить код в ответ на уведомление о предупреждении в фоновом режиме без участия пользователя. Это вообще возможно?

Спасибо.


person MHugh    schedule 25.11.2019    source источник
comment
это невозможно   -  person Prakash Shaiva    schedule 25.11.2019
comment
Проверьте это для получения дополнительной информации. .com/questions/45057772/   -  person Prakash Shaiva    schedule 25.11.2019
comment
Можете ли вы подтвердить, что это также относится и к Android? есть ли способ выполнить код, когда уведомление отправляется в приложение, которое не находится на переднем плане?   -  person MHugh    schedule 25.11.2019
comment
Проверьте это для Android stackoverflow.com/questions/37711082/   -  person Prakash Shaiva    schedule 25.11.2019


Ответы (1)


Вы можете комбинировать как тихое уведомление, так и уведомление о предупреждении в одном JSON.

добавив "content-available" : 1 следующим образом: -

{ "aps" : { "alert" : "Notification Title", "content-available" : 1 } }

Это покажет уведомление о предупреждении, а также разбудит приложение для работы в фоновом режиме.

person Ali Adam    schedule 25.11.2019
comment
Спасибо за это предложение, однако это понизит приоритет доставки до тихого уведомления, чего мы пытаемся избежать. - person MHugh; 25.11.2019