Краткое руководство: отправка обновления индикатора событий (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

Примечание  Не используете JavaScript? Подробнее: Краткое руководство: отправка обновления индикатора событий (XAML).

 

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

Индикатор событий — это число или глиф, которые отображаются на плитке, чтобы обозначить состояние приложения. Индикатор событий — это наложение на плитку, а не часть самой плитки. Он может появляться в разных местах на плитке:

  • в правом нижнем углу в Windows на языке с написанием слева направо, как в английском;
  • в левом нижнем углу в Windows на языке с написанием справа налево, как в арабском;
  • в правом верхнем углу в Windows Phone 8.1 на языке с написанием слева направо;
  • в левом верхнем углу в Windows Phone 8.1 на языке с написанием справа налево.

Индикатор событий обрабатывается через собственные API и схему и обновляется через собственные уведомления. Этот раздел содержит пошаговое описание процедуры определения содержимого индикатора событий, его отправки через уведомление и удаления этого содержимого, когда оно больше не нужно. Эти действия демонстрируются через локальное уведомление, которое является простейшим уведомлением для реализации.

Примечание  В этом разделе вы работаете с содержимым уведомления непосредственно через модель DOM XML. Кроме того, это можно делать и через библиотеку NotificationsExtensions, в которой XML-содержимое представлено в форме свойств объекта, включая свойства Intellisense. Подробнее см. в разделе с кратким руководством по использованию библиотеки NotificationsExtensions в коде. Чтобы увидеть код в этом кратком руководстве с помощью NotificationsExtensions, см. пример App tiles and badges.

 

Необходимые условия

Чтобы понять изложенное в этом разделе, вам понадобится:

Инструкции

1. Дополнительно: объявление переменной пространства имен

На этом этапе создается краткое имя, которое будет использоваться вместо полного имени пространства имен. Это эквивалент оператора "using" в C# или оператора "Imports" в Visual Basic. Оно позволяет упростить код.

Примечание  Приведенный далее в разделе код подразумевает, что данная переменная уже объявлена.

 


var notifications = Windows.UI.Notifications;

2. Выбор отображения числа или глифа

Индикатор событий может отображать числа от 0 до 99 или один из набора определяемых системой глифов состояния. Выбираемый индикатор событий зависит от вашего сценария. Например, программа электронной почты может отображать количество непрочитанных писем или глиф "новое сообщение" при поступлении новой почты. Подробнее о доступных глифах см. в разделе Обзор индикаторов событий. Подробнее об отображении чисел и глифов см. в руководстве по плиткам и индикаторам событий.

Примечание  В Windows Phone 8.1 учтите, что в индикаторах событий на телефоне поддерживаются только глифы состояния "оповещение" и "внимание", а также числа. При отправке любых других глифов на телефон индикатор событий будет очищен.

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


var badgeType = notifications.BadgeTemplateType.badgeNumber;
var badgeXml = notifications.BadgeUpdateManager.getTemplateContent(badgeType);

В этом примере извлекается шаблон для индикатора событий с глифом.


var badgeType = notifications.BadgeTemplateType.badgeGlyph;
var badgeXml = notifications.BadgeUpdateManager.getTemplateContent(badgeType);

3. Присвоение значения индикатору событий

В этом примере извлекается элемент badge из шаблона и ему присваивается числовое значение.


var badgeAttributes = badgeXml.getElementsByTagName("badge");
badgeAttributes[0].setAttribute("value", "7");

Пример присвоения индикатору событий значения глифа.


var badgeAttributes = badgeXml.getElementsByTagName("badge");
badgeAttributes[0].setAttribute("value", "newMessage");

4. Создание уведомления на индикаторе событий и отправка его в индикатор события

В этом примере XML, определенный в уведомлении, упаковывается и отправляется в индикатор событий.


var badgeNotification = new notifications.BadgeNotification(badgeXml);
notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().update(badgeNotification);

5. Дополнительно: очистка индикатора событий, если он более не является действительным

Если информация, переданная через число или глиф на индикаторе событий, является устаревшей либо уже не нужной, следует удалить индикатор событий. В следующем коде удаляется текущий индикатор событий с плитки вызывающего приложения. Также можно отправить значение "none" в качестве обновления индикатора событий вместо метода Clear.

Примечание  В отличие от плиток, индикатор событий можно очистить через облако.

 


notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().clear();

Краткая сводка и дальнейшие действия

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

В этом кратком руководстве обновление индикатора событий было отправлено как локальное уведомление. Вы также можете изучить и другие способы доставки с использованием запланированных, периодических и push-уведомлений. Подробнее см. в статье Доставка уведомлений.

Связанные разделы

Общие сведения об индикаторах событий

Схема индикатора событий

BadgeTemplateType

BadgeNotification

Краткое руководство: настройка периодических уведомлений