Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
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