Я хочу очистить локальное уведомление в лотке уведомлений. Чтобы это было Внедрение, я думаю использовать молчание push уведомления. Я хочу подтвердить, когда устройство получит его и какие вещи я могу с ним сделать?
Что такое уведомление о молчании? Когда устройство получает его?
Ответ 1
Их можно использовать для информирования о применении нового контента без информирования пользователя. Вместо отображения предупреждения уведомления приложение будет пробуждено в фоновом режиме и приложении: didReceiveRemoteNotification: fetchCompletionHandler: будет вызываться. Затем у вас есть возможность прозрачно обрабатывать любую информацию для пользователя:
- Загрузите некоторый контент
- Синхронизировать некоторые элементы,
- Информировать пользователя непосредственно в приложении, когда он открывает его.
Обратите внимание, что ваше время ограничено 30 с.
Для настройки тихих уведомлений
Чтобы поддерживать тихие удаленные уведомления, добавьте значение удаленного уведомления в массив UIBackgroundModes в файле Info.plist. Дополнительные сведения об этом массиве см. В разделе UIBackgroundModes.
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Настройка молчащего уведомления
Словарь aps также может содержать свойство, доступное для содержимого. Свойство content-available со значением 1 позволяет удаленному уведомлению действовать как молчаливое уведомление. Когда приходит тихое уведомление, iOS пробуждает ваше приложение в фоновом режиме, чтобы вы могли получать новые данные с вашего сервера или выполнять обработку фоновой информации. Пользователи arent рассказали о новой или измененной информации, которая появилась в результате молчаливого уведомления, но они могут узнать об этом при следующем открытии вашего приложения.
Для бесшумного уведомления позаботьтесь о том, чтобы в словаре aps не было никакой информации о предупреждении, звуке или значке. Если вы не следуете этому руководству, неправильно настроенное уведомление может быть дросселировано и не доставлено в приложение в фоновом режиме, а вместо тишины отображается пользователю
Ответ 2
При отправке молчащего push-уведомления, и если приложение приостановлено, система просыпается или запускает ваше приложение и помещает его в фоновое рабочее состояние перед вызовом метода, но если приложение будет убито пользователем вручную, то оно не будет пробуждаться.
приложение: didReceiveRemoteNotification: fetchCompletionHandler:
Этот метод вызывается, когда вы отправляете сообщение с тихим push-уведомлением, и ваше приложение имеет до 30 секунд времени настенных часов для выполнения загрузки или любого другого вида операции и вызова указанного блока обработчика завершения. Если обработчик не вызван вовремя, ваше приложение будет приостановлено.
Если вы хотите отправить тихое push-уведомление, то ваша полезная нагрузка для уведомлений должна быть такой:
{
"aps" = {
"content-available" : 1,
"sound" : ""
};
// You can add custom key-value pair here...
}