Поделиться через


Пользовательские метки времени в уведомлениях приложения

По умолчанию метка времени уведомлений приложений, видимая в Центре уведомлений, устанавливается на время отправки уведомления. При необходимости можно переопределить метку времени с помощью собственной пользовательской даты и времени, чтобы метка времени представляла время создания сообщения или информации или содержимого, а не времени отправки уведомления. Это также гарантирует, что уведомления отображаются в правильном порядке в Центре уведомлений, который отсортирован по времени. Рекомендуется, чтобы большинство приложений указали настраиваемую метку времени.

Эта функция доступна в Windows Build 15063 и более поздних версиях.

уведомление приложения с настраиваемыми метками времени

Note

Термин "тост-уведомление" заменяется на "уведомление приложения". Эти термины относятся к одной и той же функции Windows, но со временем мы будем постепенно отказываться от использования термина «всплывающее уведомление» в документации.

Чтобы использовать настраиваемую метку времени, просто назначьте свойство displayTimestamp элементу toast в XML-данных уведомления вашего приложения. Начиная с Windows App SDK 1.2 можно добавить настраиваемую метку времени в уведомление приложения с помощью Microsoft.Windows.AppNotifications.Builder. Для приложений UWP можно использовать библиотеку NuGet с помощью библиотеки NuGet с .4.0. Вы также можете указать метку времени с помощью необработанного XML.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetTimeStamp(new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc));

При использовании XML дата должна быть отформатирована в ФОРМАТЕ ISO 8601.

Note

Вы можете использовать только 3 знака после запятой для секунд (хотя на практике нет смысла указывать такую точность). Если вы предоставите больше, тогда нагрузка станет недопустимой, и вы получите уведомление "Новое уведомление".

Usage guidance

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

Например, приложение новостей может выполнять фоновую задачу каждые 15 минут, которая проверяет наличие новых статей и отображает уведомления. Перед настраиваемыми метками времени метка времени соответствовала моменту создания уведомления приложения (поэтому всегда в интервалах по 15 минут). Теперь приложение может установить метку времени на момент, когда статья действительно была опубликована. Аналогичным образом, почтовые приложения и приложения социальных сетей могут воспользоваться этой функцией, если для их уведомлений используется аналогичный шаблон периодического извлечения.

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

Default timestamp

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

Если вы отправили push-уведомление через WNS, мы используем время получения уведомления сервером WNS (поэтому любая задержка при доставке уведомления на устройство не повлияет на метку времени).

Если вы отправили локальное уведомление, мы используем время, когда платформа уведомлений получила уведомление (которое должно быть немедленно).