Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows предоставляет несколько API уведомлений в разных поколениях пакетов SDK. Если вы ищете в Интернете, как отправить уведомление и найти конфликтующие примеры, эта страница поможет выбрать правильный API для вашего приложения.
Какой API следует использовать?
Ответ зависит от того, какой пакет SDK предназначен для вашего приложения:
| Тип приложения | Рекомендуемый API | Namespace |
|---|---|---|
| WinUI 3 / Windows App SDK (новые приложения) | AppNotificationManager |
Microsoft.Windows.AppNotifications |
| WPF, WinForms или неупакованный Win32 |
AppNotificationManager через NuGet |
Microsoft.Windows.AppNotifications |
| UWP (существующие приложения, без плановой миграции) | ToastNotificationManager |
Windows.UI.Notifications |
Это важно
Большинство ответов Stack Overflow и старых учебников используют ToastNotificationManager из пространства имен Windows.UI.Notifications. Это API WinRT UWP. Он работает в приложениях UWP и может работать в некоторых классических сценариях, но это не рекомендуемый путь для новых приложений Windows App SDK. Используйте AppNotificationManager для новой разработки.
Сравнение API уведомлений
| Функция |
AppNotificationManager (Windows App SDK) |
ToastNotificationManager (WinRT) |
|---|---|---|
| Рекомендуется для | WinUI 3, WPF, WinForms, неупакованные приложения Win32 | UWP (Универсальная платформа Windows) |
| Пакет NuGet | Microsoft.WindowsAppSDK |
Нет (входящие) |
| Требуется идентификатор пакета | Нет (работает как в упаковке, так и без нее) | Требуется для некоторых функций |
| Интеграция push-уведомлений |
PushNotificationManager (Windows App SDK) |
API каналов WNS (Windows.Networking.PushNotifications) |
| Активная разработка | Да | Только обслуживание |
Типы уведомлений
Выбрав правильный API, определите, как будет доставлено уведомление:
| Тип | Описание | Используйте, когда |
|---|---|---|
| Уведомление о локальном приложении | Активируется непосредственно кодом приложения во время выполнения | Вы хотите оповещать пользователя о событии в приложении |
| Scheduled | Установка будущего времени для отображения уведомления | Напоминания календаря, оповещения |
| Пуш (WNS) | Отправка из облачной службы через службы push-уведомлений Windows | Сообщения чата, критические новости, обновления в режиме реального времени |
| Значок | Небольшое наложение на значок панели задач приложения | Непрочитанное число, индикатор состояния |
Полный разбивка методов доставки см. в разделе "Выбор метода доставки уведомлений".
Дальнейшие действия
Создаёте приложение WinUI 3 или Windows App SDK?
-
Общие сведения о уведомлениях приложений — уведомления о локальных и push-приложениях с помощью
AppNotificationManager - Краткое руководство по уведомлениям приложений
-
Обзор push-уведомлений — push-отправка WNS с помощью
PushNotificationManager
Создаёте приложение WPF или WinForms?
- Быстрый старт по уведомлениям приложений — локальные всплывающие уведомления работают в упакованном или распакованном виде
- Краткое руководство по push-уведомлениям — WNS поддерживает ограниченный полностью распакованный путь, но для фоновой доставки и активации COM требуется упаковка (MSIX или упакованная с внешним размещением).
Это важно
для push-уведомлений Windows App SDK требуется учетная запись Azure и регистрация приложения Azure AD. Если ваше приложение упаковано, вам также следует отправить запрос на сопоставление имен семейства пакетов (PFN) по электронной почте — учитывайте до одной недели времени обработки перед запуском. См. быстрый старт по отправке push-уведомлений, чтобы ознакомиться со всеми предварительными требованиями.
Создание или обслуживание приложения UWP?
- Отправка уведомления о локальном приложении из приложений UWP на C++
- Обзор служб push-уведомлений Windows
Перенос приложения UWP на Windows App SDK?
Windows developer