Заголовки уведомлений приложения

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

В приведенном ниже примере эта беседа группы унифицируется под одним заголовком "Camping!!". Каждое сообщение в беседе является отдельным уведомлением приложения с тем же заголовком.

Уведомления с заголовком

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

Дополнительные сведения об уведомлениях приложений см. в обзоре уведомлений о приложениях.

Добавление заголовка в уведомление

Замечание

AppNotificationBuilder в настоящее время не включает метод, поэтому используйте XML нагрузку напрямую вместе с конструктором AppNotification.

using Microsoft.Windows.AppNotifications;

string xml = @"
<toast>
    <header id='6289' title='Camping!!' arguments='action=openConversation&amp;id=6289'/>
    <visual>
        <binding template='ToastGeneric'>
            <text>Anyone have a sleeping bag I can borrow?</text>
        </binding>
    </visual>
</toast>";

var notification = new AppNotification(xml);
AppNotificationManager.Default.Show(notification);

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

Обработка активации из заголовка

Заголовки доступны для щелчка. Свойство Arguments в заголовке указывает, какой контекст передается приложению, когда пользователь щелкает заголовок, как и аргументы запуска в самом уведомлении.

Активация из заголовка обрабатывается через событие NotificationInvoked , то же самое, что и любая другая активация уведомления. Дополнительные сведения о настройке активации см. в кратком руководстве по уведомлениям приложений.

AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
    // For the header defined above, args.Argument contains:
    // "action=openConversation&id=6289"
    string arguments = args.Argument;
};

Дополнительные сведения

  • Заголовки визуально отделяют и группируют уведомления, но не изменяют максимальное количество уведомлений, которые приложение может иметь (20), или то, что поведение списка уведомлений является FIFO (первый пришёл, первый обслужен).
  • Идентификатор может быть любой строкой. В свойствах заголовка нет ограничений длины или символов. Единственное ограничение заключается в том, что все содержимое XML-уведомлений не может превышать 5 КБ.
  • Создание заголовков не изменяет количество уведомлений, отображаемых в Центре уведомлений, прежде чем появится кнопка "Просмотреть больше" (по умолчанию настраиваемая пользователем в параметрах системного уведомления).
  • Нажатие на заголовок не очищает уведомления, принадлежащие данному заголовку. Приложение должно использовать API уведомлений для очистки соответствующих уведомлений.

См. также