Скачать все Push-уведомления, когда приложение не находится в рабочем состоянии (неактивное состояние) - PullRequest
0 голосов
/ 06 июня 2018

Как я могу загрузить все уведомления, когда мое приложение не запущено.Моя полезная нагрузка уже имеет ключевой контент-доступно: 1.Но я могу получить данные, по которым пользователь нажимает.Есть ли способ подсчитать, сколько уведомлений приходит, когда мое приложение было неактивно, и устанавливать номер значка.

Ответы [ 2 ]

0 голосов
/ 19 июня 2018

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

Всякий раз, когда приложение умирает, все уведомления поступают в центр уведомлений, и есть два, чтобы открыть ваше приложение, i) путем нажатия на любой центр уведомлений с переадресацией устройства ii) путем нажатия на значок приложения.Каким бы способом вы ни выбрали, чтобы открыть приложение, вы можете написать код ниже, чтобы загрузить все push, когда ваше приложение находилось в неактивном режиме.В

didFinishLaunchingWithOptions

[[UNUserNotificationCenter currentNotificationCenter] getDeliveredNotificationsWithCompletionHandler: ^ (NSArray * _Nonnull уведомлений) {if (notifications.count> 0) {AudioServices (13 )Services) 15для (UNNotification * уведомление в withNotifications) {// NSLog (@ "msg noti% @", messages.request);// [identifierArr addObject :tification.request.identifier];NSLog (@ "~~~>% @", notification.request.identifier);dispatch_async (dispatch_get_main_queue (), ^ {[self handlePushDatainKilledMode :tification.request.content.userInfo tappedByUser: false]; // медленная работа в фоновом режиме});} NSLog (@ "~~~> Удаление всех уведомлений");[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];}}];

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

Я пишу это решение, возможно, оно может помочь кому-то или сэкономить его время.благодарю вас.

0 голосов
/ 06 июня 2018

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

{
   "data": {
     "content-available": "1",
     "badge":"0",
     "sound":""
   },
   "where": {"test":"something_test"}
}

Добавление значка в 0 удаляет все удаленные push-уведомления, вы можете прочитать больше о Silent Push Здесь

...