2015-03-05 3 views
0

Есть ли способ для приложения проснуться в фоновом режиме при получении уведомления о удаленном push и предотвратить отображение уведомлений iOS 7/8 (аналогично тому, что можно сделать на Android с помощью WakefulBroadcastReceiver и LocalBroadcastManager)? Я прыгал, что didReceiveRemoteNotification: fetchCompletionHandler позволит это сделать, но похоже, что он не предназначен для этой цели. При использовании систем реального времени серверам иногда приходится выдвигать несколько уведомлений в приложение, и я хочу предотвратить появление нескольких предупреждений на устройстве пользователя, поскольку имеет значение только последнее. Конечно, я могу справиться с этой серверной частью, но предпочел бы реализовать эту логику в приложении.Удаленные уведомления Push в iOS

ответ

1

Не отправляйте ключ предупреждения в объект уведомления. И контент-доступный флаг как 1 для фоновых уведомлений. Вы можете показать оповещение, используя контент в «дополнительном» словаре уведомлений, которые вы получаете, если хотите в какой-то момент показать оповещение пользователю.

1

Это возможно и didReceiveRemoteNotification:fetchCompletionHandler предназначено для вашего детального анализа.

Словарь aps также может содержать свойство, доступное для контента. Свойство, доступное для содержимого, со значением 1, позволяет удаленному уведомлению действовать как «молчаливое» уведомление. Когда приходит тихое уведомление, iOS пробуждает ваше приложение в фоновом режиме, чтобы вы могли получать новые данные с вашего сервера или выполнять обработку фоновой информации. Пользователям не сообщается о новой или измененной информации, которая возникает из-за молчаливого уведомления, но они могут узнать об этом при следующем открытии приложения.

Более подробная информация здесь:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

Смежные вопросы