Как сделать, чтобы удаленное уведомление появлялось в центре уведомлений, когда приложение находится на переднем плане?

Когда мое приложение находится на переднем плане, оно получает push-уведомление с моего сервера, запускает мой UNNotificationServiceExtension, а затем запускает userNotificationCenter(_:willPresent:withCompletionHandler:). Уведомление появляется в верхней части приложения на пару секунд, но когда я прокручиваю верхнюю часть телефона, чтобы увидеть центр уведомлений, уведомления там нет.

Если мой телефон заблокирован или приложение работает в фоновом режиме, пока я получаю уведомление, оно появляется в центре уведомлений.

Как сделать, чтобы уведомление отображалось в центре уведомлений, когда приложение находится на переднем плане?


person Kacy    schedule 12.04.2021    source источник
comment
Можете ли вы поделиться своей реализацией userNotificationCenter(_:willPresent:withCompletionHandler:)?   -  person Burak Akkaş    schedule 12.04.2021
comment
@BurakAkkaş Все, что у меня есть, это одна строка: completionHandler([[.banner, .badge, .sound]])   -  person Kacy    schedule 12.04.2021


Ответы (1)


Я думаю, что добавление .list должно помочь

completionHandler([.badge, .banner, .sound, .list])

Вы можете прочитать больше о UNNotificationPresentationOptions здесь.

person Prasad Parab    schedule 12.04.2021
comment
Вау спасибо. Я знал, что упускаю некоторые мелкие детали, но я не видел примеров использования поля .list. Застрял на этом намного дольше, чем я хотел бы признать. - person Kacy; 12.04.2021
comment
Как правило, я всегда проверяю все доступные параметры в Enum перед его использованием, что впоследствии избавляет от головной боли. - person Prasad Parab; 12.04.2021
comment
Я бы тоже этого хотел. Я использую Obj C. Я буду держать эту информацию под рукой. Спасибо. - person programcode; 04.05.2021