Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются три типа каналов push-уведомлений Windows (первичные, вторичные и альтернативные), которые помогают доставлять содержимое в приложение.
(Дополнительные сведения о создании push-уведомлений см. в обзоре Windows Push Notification Services (WNS).)
Типы каналов push-уведомлений
Существует три типа push-каналов, которые можно использовать для отправки уведомлений в приложение Windows. В их число входят:
Основной канал — "традиционный" канал push-уведомлений. Может использоваться любым приложением в магазине для отправки всплывающих уведомлений, плиток, необработанных или индикаторов событий. Дополнительные сведения см. здесь.
канал дополнительной плитки — используется для отправки обновлений на дополнительную плитку. Можно использовать только для отправки уведомлений плитки или индикатора событий на вторичную плитку, закрепленную на начальном экране пользователя.
Альтернативный канал - больше не поддерживается - новый тип канала, добавленный в обновлении Creators Update. Он позволяет отправлять необработанные уведомления любому приложению Windows, включая те, которые не зарегистрированы в Магазине. Опять же, обратите внимание, что альтернативный канал больше не поддерживается.
Note
Независимо от того, какой канал push-уведомлений вы используете, при запуске приложения на устройстве оно всегда сможет показывать локальные всплывающие уведомления, плитки интерфейса или значки. Он может отправлять локальные уведомления из процессов приложения переднего плана или из фоновой задачи.
Основные каналы
Это наиболее часто используемые каналы на Windows прямо сейчас, и хорошо подходит практически для любого сценария, в котором ваше приложение будет распространяться через Microsoft Store. Они позволяют отправлять все типы уведомлений в приложение.
Что позволяют первичные каналы?
- Отправка обновлений плитки или значка на основную плитку. Если пользователь решил прикрепить вашу плитку на начальном экране, это ваш шанс показать себя. Отправка обновлений с полезными сведениями или напоминаниями о взаимодействиях в приложении.
- Отправка всплывающих уведомлений. Всплывающие уведомления — это возможность немедленно представить некоторую информацию пользователю. Они накладываются оболочкой поверх большинства приложений и размещаются в центре уведомлений, чтобы пользователь мог вернуться и взаимодействовать с ними позже.
- Отправка необработанных уведомлений для активации фоновой задачи. Иногда требуется выполнить некоторые действия от имени пользователя на основе уведомления. Необработанные уведомления позволяют выполнять фоновые задачи приложения
- Шифрование сообщений при передаче, предоставляемое Windows с помощью TLS. Сообщения шифруются при передаче как в WNS, так и на устройство пользователя.
Ограничения основных каналов
- Требуется использовать REST API WNS для push-уведомлений, которые не стандартны для поставщиков устройств.
- Для каждого приложения можно создать только один канал.
- Требуется, чтобы ваше приложение было зарегистрировано в Microsoft Store
Создание основного канала
PushNotificationChannel channel =
await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
Вторичные каналы плиток
Это каналы, которые можно использовать для отправки обновлений плиток и значков на вторичную плитку. Они используются приложениями для уведомления пользователей о интересных действиях или сведениях, с которыми они могут взаимодействовать в приложении, например новых сообщений в групповом чате или обновленной спортивной оценке.
Что позволяют вторичные каналы плиток?
- Отправка уведомлений плитки или значка на вторичные плитки. Вторичные плитки — отличный способ вернуть пользователей в приложение. Они представляют собой глубокую ссылку на информацию, которая им интересна, и размещение соответствующей информации на плитках помогает привлекать их снова и снова.
- Разделение каналов (и истечение срока действия) между различными плитками. Это позволяет разделить логику в серверной части между различными типами вторичных плиток, которые пользователь может закрепить на начальном экране.
- Шифрование сообщений при передаче, предоставляемое Windows с помощью TLS. Сообщения шифруются при передаче как в WNS, так и на устройство пользователя.
Ограничения каналов вторичных плиток
- Не разрешены всплывающие уведомления или необработанные уведомления. Тостовые или необработанные уведомления, отправленные на дополнительную плитку, игнорируются системой.
- Требуется, чтобы ваше приложение было зарегистрировано в Microsoft Store
Создание дополнительного канала плитки
PushNotificationChannel channel =
await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);
Альтернативные каналы
Альтернативные каналы позволяют приложениям отправлять push-уведомления без регистрации в Microsoft Store или создания каналов push-уведомлений за пределами основного, используемого для приложения.
Note
По состоянию на 1 июля 2021 г. приложения, которые хотят использовать веб-канал push-уведомлений или альтернативный канал для отправки уведомлений на основе браузера через WNS, потребуется подключиться к Microsoft Store.
Какие возможности предоставляют альтернативные каналы?
- Отправка необработанных push-уведомлений в Windows, запущенную на любом Windows устройстве. Альтернативные каналы позволяют только необработанные уведомления (однако вы по-прежнему можете активировать фоновую задачу для локального отображения тост-уведомлений или уведомлений плиток).
- Позволяет приложениям создавать несколько необработанных каналов push-уведомлений для различных функций в приложении. Приложение может создавать до 1000 альтернативных каналов, и каждый из них действителен в течение 30 дней. Каждый из этих каналов может управляться или отзываться отдельно приложением.
- Альтернативные каналы push-уведомлений можно создавать без регистрации приложения в Microsoft Store. Если приложение будет установлено на устройствах без регистрации его в Microsoft Store, оно по-прежнему сможет получать push-уведомления.
- Серверы могут отправлять push-уведомления с помощью стандартных ИНТЕРФЕЙСов REST API W3C и протокола VAPID. Альтернативные каналы используют стандартный протокол W3C, что позволяет упростить логику сервера, которая должна поддерживаться.
- Полное, сквозное шифрование сообщений. Хотя основной канал обеспечивает шифрование во время передачи, если вы хотите быть дополнительным безопасным, альтернативные каналы позволяют приложению передавать заголовки шифрования для защиты сообщения.
Ограничения альтернативных каналов
- Сервер вашего приложения не может отправлять push-уведомления, тосты, плитки или бейджи. Вы можете отправлять только необработанные push-уведомления. Ваше приложение по-прежнему может отправлять локальные уведомления из фоновой задачи.
- Требуется другой REST API, отличный от основных или вторичных каналов плиток. Использование стандартного REST API W3C означает, что приложению потребуется другая логика отправки push-уведомлений или обновлений плиток
Создание альтернативного канала
PushNotificationChannel webChannel =
await PushNotificationChannelManager.GetDefault().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(applicationServerKey, appChannelId);
Сравнение типов каналов
Ниже приведено быстрое сравнение различных типов каналов:
| Type | Push toast? | Отправить плитку или эмблему? | push-необработанные уведомления? | Authentication | API | требуется регистрация в магазине ? | Channels | Encryption |
|---|---|---|---|---|---|---|---|---|
| Primary | Yes | Да — только первичная плитка | Yes | OAuth | WNS REST API | Yes | Одно для каждого приложения | В пути |
| Вторичная плитка | No | Да — только вторичная плитка | No | OAuth | WNS REST API | Yes | Одна на вторичную плитку | В пути |
| Alternate | No | No | Yes | VAPID | Стандарт W3C для WebPush | No | 1000 на приложение | Возможны шифрование во время передачи и сквозное шифрование с передачей заголовка (требуется код приложения) |
Выбор правильного канала
Как правило, мы рекомендуем использовать основной канал в приложении с несколькими исключениями:
- Если вы отправляете обновление плитки на дополнительную плитку, используйте канал для отправки обновлений вторичной плитки.
- Если вы передаете каналы другим службам (например, в случае браузера), используйте альтернативный канал.
- Если вы создаете приложение, которое не будет отображаться в хранилище Windows (например, бизнес-приложение), используйте альтернативный канал.
- Если у вас есть веб-push-код на сервере, который вы хотите повторно использовать или иметь несколько каналов в серверной службе, используйте альтернативные каналы.
Связанные статьи
- Отправить уведомление о локальной плитке
- Содержимое уведомления приложения
- Быстрый старт: Отправка push-уведомлений
- Обновление значка с помощью push-уведомлений
- Как запрашивать, создавать и сохранять канал уведомлений
- Как перехватывать уведомления о запущенных приложениях
- Как аутентифицироваться с помощью службы push-уведомлений Windows (WNS)
- Заголовки запросов и ответов службы push-уведомлений
- Рекомендации и контрольный список для push-уведомлений
- Необработанные уведомления
Windows developer