Настройка PUSH-уведомлений
PUSH-уведомления, настройка которых описана в данном разделе, позволяют оповещать Пользователей о событиях КриптоПро DSS в мобильном приложении DSS SDK.
Внимание!
Для настройки PUSH-уведомлений для экземпляра ЦИ должен быть настроен и включен метод аутентификации при помощи мобильного приложения DSS SDK. При этом включение метода для Пользователей не требуется.
Внимание!
Получать PUSH-уведомления Пользователь может только на привязанное к его учетной записи мобильное устройство.
Внимание!
Операторы DSS НЕ могут получать PUSH-уведомления (даже для событий, у
которых в параметре UsageType
есть назначение Operator
. Операторам доступно только
редактирование настроек PUSH-уведомлений Пользователей в веб-интерфейсе при наличии
соответствующих настроек политики оповещения.
Настройка PUSH-уведомлений производится в несколько этапов:
- Настройка набора плагинов для рассылки PUSH-уведомлений
- Включение PUSH-уведомлений путем редактирования политики оповещения
- Инициализация (привязка к учетной записи) устройства Пользователя
- (Опционально) Настройка шаблонов PUSH-уведомлений
Пример настройки PUSH-уведомлений
1. Настройка набора плагинов
Настройка набора плагинов для рассылки PUSH-уведомлений производится при помощи единого командлета Add-MyDssSystem. При этом в DSS автоматически создается система PUSH-уведомлений и регистрируются следующие плагины:
- плагин форматирования сообщений (
pushFmtPluginType = "CryptoPro.DSS.PushService.NotificationEx.PushFormatterPlugin,DSS.PushService.NotificationEx"
); - транспортный плагин (
pushPluginType = "CryptoPro.DSS.PushService.NotificationEx.PushPlugin,DSS.PushService.NotificationEx"
); - плагин рассылки уведомлений (
pushNotifierType = "CryptoPro.DSS.PushService.NotificationEx.PushNotifier,DSS.PushService.NotificationEx"
).
Add-MyDssSystem -Name <Отображаемое имя системы> -ApnClientCertPath "<Путь к файлу с сертификатом APN>" -ApnClientCertPassword <Пароль APN> -CollapseKey <string> -MyDssAddress https://<hostname>/<mydssAppName> -GoogleServiceKey <Идентификатор FCM>
Примечание
Для отправки PUSH-уведомлений на устройства Apple требуется сертификат с клиентской
аутентификацией (-ApnClientCertPath
и -ApnClientCertPassword
) на Apple Push Notification Service. Получить данный сертификат можно по запросу
на dsssupport@cryptopro.ru
.
Для отправки PUSH-уведомлений на устройства Android требуется получить ключ доступа к Firebase
Cloud Messaging Server (-GoogleServiceKey). Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
Изменение настроек зарегистрированных плагинов возможно при помощи командлета Set-MyDssSystem.
Для указания системы, в которую вносятся изменения, требуется заполнить параметрSystemId
.
Получить значение данного параметра для всех зарегистрированных систем можно в выводе
командлета Get-MyDssSystem без параметров.
2. Включение PUSH-уведомлений
Включить оповещение Пользователей посредством PUSH-уведомлений можно, добавив в политику
оповещения Пользователей в параметр
Notifiers
значение PUSH
.
Примечание
Если для какого-либо события уже был задан параметр -Notifiers
, следующее его заполнение для
данного события перезапишет все указанные способы доставки. Т.е. при изменении данного параметра
каждый раз нужно указывать все необходимые способы доставки.
3. Инициализация (привязка к учетной записи) устройства Пользователя
Получать PUSH-уведомления Пользователь может только на привязанное к его учетной записи мобильное устройство. Сценарии привязки (инициализации) мобильного устройства Пользователя описаны в соответствующем разделе.
4. (Опционально) Настройка шаблонов PUSH-уведомлений
Администратор может создать собственные шаблоны PUSH-уведомлений, доставляемых Пользователям, для каждой системы, созданной на шаге 1.
Если собственные шаблоны не заданы, используются шаблоны по умолчанию. Удалять или изменять шаблоны по умолчанию невозможно.
Чтобы добавить собственный шаблон PUSH-уведомления, необходимо выполнить следующие действия:
Выбрать событие, для которого нужно добавить шаблон PUSH-уведомления и получить его идентификатор
EventID
.Выбрать систему из ранее зарегистрированных, для которой настраиваются PUSH-уведомления, при помощи командлета Get-MyDssSystem и получить ее идентификатор
SystemId
.Добавить шаблон для выбранного события и выбранной системы, используя
EventID
выбранного события иSystemId
выбранной системы соответственно:
Add-DssPushFormatterTemplate -EventID <ID события> -MyDssSystemId "<ID системы>" -Text "<У Вас новое уведомление {0:Date}>" -Payload '{"Date" : "{0:Date}", "MyDssPushAddress" : "{0:MyDssPushAddress}"}' "
Примечание
В параметре -Text
можно использовать только подстановочные параметры, указанные в обычных
шаблонах сообщений для данного события (командлет Get-DssFormatterTemplate -EventID <ID выбранного события>
).
Параметр -Payload
содержит набор параметров, которые будут переданы в приложение, работающее
с DSS SDK. Зарезервирован для дальнейшего использования.
Чтобы просмотреть все шаблоны PUSH-уведомлений, зарегистрированных в данной системе, можно использовать командлет Get-DssPushFormatterTemplate.
5. Примеры
# Регистрация системы PUSH-уведомлений и набора плагинов
Add-MyDssSystem -Name <Отображаемое имя системы> -ApnClientCertPath "<Путь к файлу с сертификатом APN>" -ApnClientCertPassword <Пароль APN> -CollapseKey <string> -MyDssAddress https://<hostname>/<mydssAppName> -GoogleServiceKey <Идентификатор FCM>
# Настройка политики оповещения Пользователей для PUSH-уведомлений:
Set-DssNotificationPolicy –Type User -NotificationEvents CertificateCreated,DeviceConfirmed -Notifiers PUSH
# (Опционально) Добавление нового шаблона PUSH-уведомления для события
Add-DssPushFormatterTemplate -EventID <ID события> -MyDssSystemId "<ID системы>" -Text "<У Вас новое уведомление {0:Date}>" -Payload '{"Date" : "{0:Date}", "MyDssPushAddress" : "{0:MyDssPushAddress}"}' "