Распространение уведомлений
Для определения, как и куда доставлять уведомления, службы Notification Services используют устройства подписчиков, каналы и протоколы доставки, которые описаны ниже. В этом разделе также описывается, как связаны эти объекты и как определить эти объекты для приложения.
Каналы доставки
Канал доставки представляет собой конечную точку доставки. Каналом доставки может быть сервер электронной почты или файл операционной системы. Со всеми каналами доставки связаны протоколы доставки, которые используются для формирования пакетов и отправки уведомлений в конечную точку доставки.
Каналы доставки задаются в конфигурации экземпляра служб Notification Services. Все приложения, размещенные на экземпляре, используют один набор каналов доставки.
Протоколы доставки
Протокол доставки представляет собой реализацию метода доставки, например простого протокола пересылки электронной почты (SMTP) для сообщений электронной почты или службы коротких сообщений (SMS) для текстовых сообщений. Протокол доставки упаковывает отформатированные уведомления вместе со сведениями, необходимыми для системы доставки, например с адресом и темой электронного сообщения, и затем отправляет уведомление по каналу доставки.
Протоколы доставки настраиваются для каждого класса уведомлений в приложении. Для каждого метода доставки, поддерживаемого классом уведомлений, предоставляются сведения о конфигурации протокола доставки, которую службы Notification Services используют для определения соответствия данных уведомлений требованиям метода доставки. Например, для поддержки доставки электронной почты и текстовых сообщений необходимо определить протоколы доставки SMTP и SMS. Сам по себе протокол доставки является либо стандартным протоколом, включенным в службы Notification Services, либо пользовательским протоколом доставки, реализующим определенный метод доставки.
При определении каналов доставки для экземпляра служб Notification Services протокол доставки связывается с каждым каналом доставки. Один протокол доставки может использоваться несколькими каналами доставки. Например, может быть два канала доставки, использующих протокол доставки файлов. Каждый канал доставки может записывать уведомления в различные файлы.
Если используются пользовательские протоколы доставки, то необходимо в файле конфигурации экземпляра объявить имя класса протокола и имя сборки.
Привязка уведомлений к протоколам и каналам доставки
При определении приложения класс уведомлений связывается с одним или несколькими протоколами доставки, каждый канал доставки связывается с одним протоколом доставки. Как при этом связать отдельные уведомления с протоколами и каналами доставки?
При разработке интерфейса управления подписками собираются сведения о подписчиках и их подписках. С помощью этого интерфейса подписчики настраивают одно или несколько устройств подписчиков, принимающих уведомления. Каждое устройство подписчика содержит идентификатор подписчика, имя канала доставки и адрес.
Если подписчик создает подписку, то интерфейс управления подписками должен связать с подпиской имя устройства. Интерфейс может жестко определять устройство или разрешать подписчикам выбирать настроенные ими устройства.
Когда службы Notification Services формируют уведомление, в нем содержится идентификатор подписчика и имя устройства, предоставляемое правилом подписки. При отправке уведомления распространитель получает канал доставки и адрес устройства подписчика, а затем протокол доставки, связанный с каналом доставки. В этот момент службы Notification Services имеют сведения, необходимые для создания пакетов уведомлений и отправки в канал доставки.
Определение сведений о доставке
При разработке приложений необходимо определить все сведения, необходимые для распространения уведомлений.
- Для каждого класса уведомлений задайте все протоколы доставки, которые поддерживает класс уведомлений. Для каждого класса уведомлений можно задать несколько протоколов доставки. Дополнительные сведения см. в разделе Настройка протоколов доставки.
- Если имеются пользовательские протоколы доставки, то объявите их в конфигурации экземпляра. (Службы Notification Services поддерживают все стандартные протоколы доставки.) Дополнительные сведения см. в разделе Определение пользовательских протоколов доставки.
- Определите в конфигурации экземпляра все каналы доставки (включая протоколы доставки). Дополнительные сведения см. в разделе Определение каналов доставки.
- Спроектируйте интерфейс управления подписками, чтобы определить канал доставки для каждого устройства подписчика. Эти каналы могут быть жестко заданы в интерфейсе, либо можно предоставить пользователям возможность выбора значения. Заданный канал доставки должен быть одним из каналов, определенных в конфигурации экземпляра. Дополнительные сведения см. в разделе Разработка интерфейсов управления подписками.
- В правиле подписки, которое формирует уведомления, вставьте в таблицу уведомлений поля идентификатора подписчика, имени устройства и языкового стандарта подписчика. Дополнительные сведения см. в разделе Определение правил подписок.
См. также
Основные понятия
Форматирование уведомлений и архитектура доставки
Определение пользовательских протоколов доставки
Определение каналов доставки
Определение правил подписок
Другие ресурсы
Определение классов уведомлений
Определение приложений служб Notification Services
Настройка протоколов доставки
Разработка интерфейсов управления подписками