Отправка тестовых push-уведомлений в мобильное приложение на базе DSS SDK
Опубликовано Андрей Солдатов on 2021-09-07 13:21

Предварительные условия:

1. Направить запрос на получение ключей доступа к push-серверам Apple, Google, Huawei на электронную почту: dsssupport@cryptopro.ru

В запросе обязательно требуется указать наименование компании и данные контактного лица-представителя, которому будут предоставлены ключи доступа.

2. Выполнить настройку сервиса взаимодействия с DSS SDK, в соответствие с примером.

3. Выполнить настройку Push-уведомлений, в соответствие с руководством.

4. При использовании сервиса Pushproxy - выполнить настройку, в соответствие с руководством.

5. Выполнить регистрацию мобильного устройства (анонимно/с использованием QR-кода).

Запрос адреса мобильного устройства:

Вариант №1 (с отправкой SELECT-запроса до БД):
Необходимо выполнить следующий SQL-запрос:

USE [IdentityServiceDB]
SELECT
JSON_VALUE (ur.[Parameters],'$.PushAddress') AS PushAddress
FROM [dbo].[AspNetUserLogins] AS ul
LEFT OUTER JOIN [dbo].[AuthnTokens] AS ur
on ur.[UserId] = ul.[UserId]
where [TokenType] = 'mydss' and [ProviderKey] = 'Логин пользователя'

В [ProviderKey] указывается логин пользователя, для которого регистрировалось мобильное устройство в п. 5 предварительных условий.

Результатом выполнения запроса будет адрес мобильного устройства в колонке "PushAddress".

Вариант №2 (с использованием веб-интерфейса оператора):
В ЛК Оператора перейти на вкладку "Средства Аутентификации", активировать поиск по фильтру, указать логин пользователя и выбрать тип токена = myDSS. Применить фильтр. 

Результатом применения фильтра будет адрес мобильного устройства в колонке "Параметры" (PushAddress).

Вариант №3 (с отправкой API-запроса к UMS-сервису):
Для получения адреса воспользуйтесь руководством.

Отправка тестового Push-уведомления:

Запрос на отправку тестового Push-уведомления выполняется из Powershell сервера DSS, путем выполнения следующих командлетов:

$notifier= Get-DssInternalNotifier|where {$_.Settings["MyDssSystemId"] -eq "Идентификатор системы myDSS"}

Примечание: регистрация системы myDSS выполняется в п. 3 предварительных условий. Узнать идентификатор зарегистрированной системы можно путем выполнения командлета: Get-MyDssSystem

Test-DssInternalNotifier -MyDssSystemId "Идентификатор системы myDSS" -NotifierID $notifier.id -Address "Адрес мобильного устройства" -AddressType MyDssPushAddress -PushType FCM - для Android-устройств

Test-DssInternalNotifier -MyDssSystemId "Идентификатор системы myDSS" -NotifierID $notifier.id -Address "Адрес мобильного устройства" -AddressType MyDssPushAddress -PushType APN - для iOS-устройств

Test-DssInternalNotifier -MyDssSystemId "Идентификатор системы myDSS" -NotifierID $notifier.id -Address "Адрес мобильного устройства" -AddressType MyDssPushAddress -PushType HMS - для устройств Huawei

Если тестовое Push-уведомление не дошло до мобильного устройства:
1. Убедитесь, что с сервера, где развернут DSS (или с сервиса Pushproxy, при его использовании), настроена сетевая доступность до Push-серверов, в соответствие с руководством.
2. Убедитесь, что при запросе адреса мобильного устройства был указан логин именно того пользователя, для которого регистрировалось мобильное устройство.
3. Убедитесь, что при выполнении командлета для отправки тестового Push-уведомления был указан корректный адрес и тип мобильного устройства.

(3 плюсик(ов))
Класс!
Не очень :(