Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Периодические уведомления, которые также называются опрашиваемыми уведомлениями, обновляют плитки и индикаторы событий с фиксированным интервалом, скачивая содержимое из облачной службы. Чтобы использовать периодические уведомления, код клиентского приложения должен предоставить две части информации:
- Универсальный идентификатор ресурса (URI) веб-адреса, по которому Windows опрашивает обновления плиток или значков для вашего приложения
- Как часто следует опрашивать URI
Периодические уведомления позволяют приложению получать динамические обновления плиток с минимальными объемами инвестиций в облачную службу и клиент. Периодические уведомления — это хороший метод доставки для распространения того же содержимого в широкой аудитории.
Примечание Вы можете узнать больше, скачав пример push-уведомлений и периодических уведомлений для Windows 8.1 и повторно используя его исходный код в приложении Windows 10.
Принцип работы
Периодические уведомления требуют, чтобы приложение размещалось в облачной службе. Служба будет периодически опрашивироваться всеми пользователями, у которых установлено приложение. При каждом интервале опроса, например один раз в час, Windows отправляет HTTP-запрос GET в URI, скачивает запрошенное содержимое плитки или эмблемы (как XML), предоставленное в ответ на запрос, и отображает содержимое на плитке приложения.
Обратите внимание, что периодические обновления нельзя использовать со всплывающими уведомлениями. Всплывающее уведомление лучше всего доставлять через запланированные или push-уведомления .
Расположение URI и XML-содержимое
Любой допустимый веб-адрес HTTP или HTTPS можно использовать в качестве URI для опроса.
Ответ облачного сервера включает скачаемое содержимое. Содержимое, возвращаемое из URI, должно соответствовать спецификации схемы XML плитки или эмблемы и должно быть закодировано UTF-8. Вы можете использовать заданные заголовки HTTP, чтобы задать время истечения срока действия или тег для уведомления.
Поведение опроса
Вызовите один из следующих методов, чтобы начать опрос:
- StartPeriodicUpdate (плитка)
- StartPeriodicUpdate (индикатор)
- StartPeriodicUpdateBatch (плитка)
При вызове одного из этих методов URI немедленно опрашивается, а плитка или значок обновляются с полученным содержимым. После этого первоначального опроса Windows продолжает предоставлять обновления с запрошенным интервалом. Опрос продолжается, пока его явно не остановят (с TileUpdater.StopPeriodicUpdate), приложение не будет удалено, или, в случае вторичной плитки, плитка не будет удалена. В противном случае Windows продолжает опрашивать обновления на плитке или индикаторе событий, даже если ваше приложение никогда не запускается снова.
Интервал повторения
Интервал повторения указывается в качестве параметра методов, перечисленных выше. Обратите внимание, что хотя Windows делает лучшие усилия для опроса по запросу, интервал не является точным. Запрошенный интервал опроса может быть отложен до 15 минут по усмотрению Windows.
Время начала
При необходимости можно указать определенное время дня, чтобы начать опрос. Рассмотрим приложение, которое изменяет содержимое плитки только один раз в день. В таком случае рекомендуется провести опрос близко к времени обновления облачной службы. Например, если ежедневный торговый сайт публикует предложения дня в 8 утра, проверьте наличие нового содержимого плитки сразу после 8 утра.
Если вы указываете время начала, то метод сразу же выполняет первый опрос содержимого. Затем регулярный опрос начинается в течение 15 минут от предоставленного времени начала.
Автоматическое поведение повторных попыток
URI опрашивируется только в том случае, если устройство находится в сети. Если сеть доступна, но не удаётся связаться с URI по какой-либо причине, эта итерация интервала опроса пропускается, и URI будет снова опрошен в следующий интервал. Если устройство находится в отключенном, спящем или гибернации при достижении интервала опроса, URI опрашивается, когда устройство возвращается из выключенного или спящего состояния.
Обработка обновлений приложений
При выпуске обновления приложения, изменяющего URI опроса, необходимо добавить фоновую задачу триггера ежедневного времени, которая вызывает StartPeriodicUpdate с новым универсальным кодом ресурса (URI), чтобы плитки использовали новый универсальный код ресурса (URI). В противном случае, если пользователи получают обновление приложения, но не запускают его, плитки по-прежнему будут использовать старый URI, который может не отображаться, если URI теперь недействителен или если возвращенные данные ссылаются на локальные изображения, которые больше не существуют.
Истечение срока действия уведомлений плитки и индикатора событий
По умолчанию срок действия периодических уведомлений плитки и индикаторов событий истекает через три дня с момента их скачивания. По истечении срока действия уведомления содержимое удаляется из значка, плитки или очереди и больше не отображается пользователю. Рекомендуется задать явное время истечения срока действия всех периодических уведомлений плитки и индикаторов событий, используя время, которое имеет смысл для приложения или уведомления, чтобы убедиться, что содержимое не сохраняется дольше, чем это актуально. Явное время истечения срока действия необходимо для содержимого с определенным сроком жизни. Он также гарантирует удаление устаревшего содержимого, если облачная служба становится недоступной или если пользователь отключается от сети в течение длительного периода времени.
Ваша облачная служба устанавливает дату и время истечения срока действия уведомления, посредством включения заголовка X-WNS-Expires HTTP в полезные данные ответа. Заголовок HTTP X-WNS-Expires соответствует требованиям формата HTTP-даты . Дополнительные сведения см. в разделе StartPeriodicUpdate или StartPeriodicUpdateBatch.
Например, в течение активного торгового дня на фондовом рынке вы можете установить срок истечения обновления цен на акции в два раза больше, чем интервал опроса (например, через час после получения, если вы проводите опрос каждые полчаса). В другом примере приложение новостей может определить, что один день является подходящим временем истечения срока действия для ежедневного обновления плитки новостей.
Периодические уведомления в очереди уведомлений
Вы можете использовать периодические обновления плиток с чередованием уведомлений . По умолчанию плитка на начальном экране отображает содержимое одного уведомления, пока не будет заменено новым уведомлением. При включении циклического просмотра в очереди сохраняются до пяти уведомлений, а плитка просматривает их по очереди.
Если очередь достигла своей емкости пяти уведомлений, следующее новое уведомление заменяет самое старое уведомление в очереди. Однако, установив теги в уведомлениях, вы можете повлиять на политику замены очереди. Тег — это специфичная для приложения, нечувствительная к регистру строка до 16 буквенно-цифровых символов, указанная в заголовке X-WNS-Tag HTTP в полезных данных ответа. Windows сравнивает тег входящего уведомления с тегами всех уведомлений, уже входящих в очередь. Если совпадение найдено, новое уведомление заменяет уведомление в очереди тем же тегом. Если совпадение не найдено, применяется правило замены по умолчанию, а новое уведомление заменяет самое старое уведомление в очереди.
Вы можете использовать очередь уведомлений и теги для реализации различных сценариев с расширенными возможностями уведомлений. Например, приложение для акций может отправлять пять уведомлений, каждая из которых содержит разные акции и каждая из них помечена именем акций. Это предотвращает, чтобы в очереди когда-либо содержались два уведомления для одной и той же акции, старшее из которых устарело.
Для получения дополнительной информации см. раздел Использование очереди уведомлений.
Включение очереди уведомлений
Чтобы реализовать очередь уведомлений, сначала включите очередь для плитки (см. инструкции по использованию очереди уведомлений с локальными уведомлениями). Вызов, позволяющий включить очередь, необходимо выполнить только один раз в течение всего времени существования приложения, но при каждом запуске приложения нет вреда.
Опрос нескольких уведомлений одновременно
Необходимо указать уникальный URI для каждого уведомления, которое вы хотите скачать для плитки в Windows. С помощью метода StartPeriodicUpdateBatch можно одновременно предоставить до пяти URI для использования с очередью уведомлений. Каждый универсальный код ресурса (URI) опрашивается для одного пакета данных уведомления в одно и то же время или почти одновременно. Каждый опрашивленный URI может возвращать собственный срок действия и значение тега.
Связанные темы
Windows developer