iOS: при нажатии на одно push-уведомление другие push-уведомления для того же приложения исчезают

Пусть для моего приложения получено 5 удаленных уведомлений. Когда я нажимаю на одно уведомление, все 5 уведомлений тоже исчезают, нам нужно показать остальные 4 уведомления без изменений, пока они не постучат. Но главная проблема заключается в том, что все другие уведомления предназначены для другой цели, а не для той же цели. Поэтому нам нужно показывать все уведомления до тех пор, пока они не будут нажаты в области уведомлений.

Также нам нужно обновить количество значков в соответствии с этим. Есть ли способ обрабатывать удаленные push-уведомления, когда приложение не запущено (убито)? Не могли бы вы предложить лучший способ обработки удаленных push-уведомлений с помощью target c ?

Спасибо


person Soumen Pal    schedule 08.09.2016    source источник


Ответы (3)


Вы должны удалить все уведомления или присвоить счетчику значков нулевое значение или и то, и другое. После того, как вы получите уведомление в своем приложении, вы получите push-уведомление, получая метод делегата следующим образом:

UIApplication.sharedApplication().applicationIconBadgeNumber = 0
UIApplication.sharedApplication().cancelAllLocalNotifications() 

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

В Objective C приведенные выше строки кода выглядят так:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
person Anuj    schedule 08.09.2016

Похоже, вы можете установить для applicationIconBadgeNumber значение 0, что удалит все остальные уведомления. [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];

См. следующий пост для получения более подробной информации о номере приложения Все уведомления исчезают после открытия один из них

Чтобы установить правильный номер значка, вы можете обнаружить, что уведомление было нажато, соответственно обновить количество значков. Или вы даже можете передать номер значка приложению в полезной нагрузке apns.

См. другие темы: https://forums.developer.apple.com/thread/62137

person David Truong    schedule 08.09.2016

Чтобы показать количество значков, убедитесь, что вы публикуете количество значков при отправке уведомления с сервера: -

            $body = array('aps' => array('alert' => $message,'badge' =>'$badgecount', "sound"=> "Default"));
person Amandeep Singh    schedule 08.09.2016