Управление всплывающими уведомлениями в центре поддержки (приложения Магазина Windows Phone)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]
Центр уведомлений, добавленный в Windows Phone 8.1, обеспечивает пользователям быстрый доступ к определенным параметрам системы, а также к всплывающим уведомлениям. Доступ к центру поддержки можно получить, проведя пальцем вниз от верхней части экрана телефона. Его можно также настроить с помощью приложения параметров телефона.
Подробнее о всплывающих уведомлениях см. в разделе Общие сведения о всплывающих уведомлениях.
Общая информация о Центре поддержки
По умолчанию при вводе всплывающего уведомления в верхней части экрана телефона во всплывающем элементе пользовательского интерфейса отображается содержимое уведомления пользователя. Пользователь может выбрать один из трех ответов на уведомление:
- Коснуться уведомления. В результате этого действия пользователь перейдет в ваше приложение, в котором можно отобразить дальнейшие сведения, относящиеся к уведомлению.
- Явно скрыть уведомление.
- Игнорировать уведомление. Уведомление автоматически исчезает через несколько секунд.
В последних двух случаях в центре поддержки пользователь может просмотреть пропущенные или скрытые уведомления и, возможно, отреагировать на них. Центр поддержки может также содержать всплывающие уведомления, отправленные непосредственно в него и не отображающиеся во всплывающем пользовательском интерфейсе.
Уменьшить число всплывающих уведомлений, которое пользователь может увидеть из вашего приложения, можно с помощью свойства SuppressPopup, доступного для классов ToastNotification и ScheduledToastNotification. Если для этого свойства установить значение true, всплывающее уведомление отправляется непосредственно в центр поддержки и не отображается в пользовательском интерфейсе.
В центре поддержки одного приложения может отображаться до 20 всплывающих уведомлений. Если коснуться уведомления, запустится представление приложения, обычно связанное с содержимым уведомления. Уведомление удаляется из центра поддержки. Каждое приложение имеет свою очередь в центре поддержки, которая управляется системой по принципу FIFO (в порядке поступления). Если получено больше уведомлений, чем может поместиться в очереди, система отображает сообщение Дополнительные уведомления, чтобы сообщить пользователю о пропущенных уведомлениях от этого приложения. Если коснуться сообщения, запустится приложение.
Группирование и маркировка всплывающих уведомлений
Всплывающее уведомление можно отметить тегом, назначить группе или выполнить оба действия. Теги и группы используются для замены или удаления уведомлений из центра поддержки. Строки тегов и групп применяются с помощью свойств Tag и Group классов ScheduledToastNotification и ToastNotification. Не существует определенного формата для строк тегов или групп—используйте формат, соответствующий вашему приложению.
Теги не должны быть уникальны. Поэтому у вас могут возникать любые из перечисленных ниже ситуаций.
- Одно уведомление с определенным тегом в группе или без нее
- Несколько уведомлений в одной и той же группе с одинаковым тегом
- Несколько уведомлений с одинаковым тегом, но в разных группах
В классе ToastNotificationHistory существует три способа (с перегрузками) удаления всплывающих уведомлений из центра поддержки.
- clear: удаление всех уведомлений.
- remove: включение этих сценариев:
- Удаление всех уведомлений с определенным тегом, не принадлежащих к группе
- Удаление всех уведомлений с конкретным тегом из определенной группы
- Удаление всех уведомлений для указанного приложения с определенным тегом, не принадлежащих к группе
- Удаление всех уведомлений для указанного приложения с конкретным тегом из определенной группы
- removeGroup: включение этих сценариев:
- Удаление всех уведомлений с определенной меткой группы
- Удаление всех уведомлений для указанного приложения с определенной меткой группы
Дополнительную информацию о том, как приложение может управлять всплывающими уведомлениями в центре поддержки, см. в кратком руководстве по управлению всплывающими уведомлениями в центре поддержки.
Центр поддержки и служба push-уведомлений Windows (WNS)
Взаимодействие с центром поддержки также происходит при отправке всплывающих push-уведомлений сервера приложения с помощью службы WNS. Для поддержки сценариев центра поддержки в WNS были добавлены новые заголовки запросов и ответов.
- В заголовках X-WNS-Tag и X-WNS-Group указаны свойства Tag и Group, описанные выше.
- С помощью заголовка X-WNS-SuppressPopup всплывающее уведомление отправляется непосредственно в центр поддержки без отображения во всплывающем пользовательском интерфейсе экрана телефона пользователя.
- В заголовке X-WNS-TTL указано максимальное время, в течение которого всплывающее уведомление будет отображаться в центре поддержки, прежде чем истечет срок его действия или оно будет удалено. Это значение по умолчанию — 7 дней.
- В заголовке X-WNS-Match, используемом в запросе HTTP DELETE, содержатся инструкции для центра поддержки по удалению определенного всплывающего уведомления или группы всплывающих уведомлений.
Служба WNS и сценарии работы в отключенном состоянии
По многим причинам (например, из-за слабого сигнала) устройство может находиться в отключенном состоянии без возможности доступа к сети и, следовательно, приема push-уведомлений. Если целевое устройство находится в отключенном состоянии, служба WNS кэширует уведомления приложения в очередь для доставки после подключения устройства. Однако размер очереди ограничен, и уведомления кэшируются по принципу FIFO (по мере поступления). Из-за этого более ранние уведомления могут быть пропущены.
Когда устройство становится доступно, кэшированные всплывающие уведомления доставляются на него вместе с информацией о пропущенных уведомлениях. В приведенной ниже таблице показано, что будет отправлено устройству, когда оно снова станет доступным.
Состояние очереди WNS после подключения устройства | Что доставляется на устройство |
---|---|
В службе WNS содержится одно новое уведомление. Пока устройство находилось в отключенном состоянии, не было пропущено ни одно уведомление. | Кэшированное уведомление отправляется в Центр поддержки. Если во всплывающем уведомлении не задан заголовок X-WNS-SuppressPopup, оно также будет отображено на экране устройства. |
В службе WNS содержится несколько новых уведомлений. Пока устройство находилось в отключенном состоянии, не было пропущено ни одно уведомление. | Все кэшированные уведомления отправляются в Центр поддержки. На устройстве будет отображено одно сводное всплывающее уведомление для приложения, сообщающее пользователю, что поступили новые уведомления. |
В службе WNS содержится несколько уведомлений. Пока устройство находилось в отключенном состоянии, было пропущено одно или несколько уведомлений. | Все кэшированные уведомления отправляются в Центр поддержки. В центре поддержки будет отображено сообщение "Другие уведомления". На устройстве будет отображено одно сводное всплывающее уведомление для приложения, сообщающее пользователю, что поступили новые уведомления. |
Совет Когда устройство снова подключается к сети, во избежание неожиданного потока уведомлений пользователю отображается максимум одно всплывающее уведомление. Если коснуться всплывающего уведомления при отображении одного уведомления, будет запущено приложение в контексте, связанном с содержимым всплывающего уведомления. При получении сводного всплывающего уведомления приложение запускается обычным способом.
Связанные разделы
Краткое руководство: управление всплывающими уведомлениями в центре поддержки