Отправка тестовых push-уведомлений в мобильное приложение myDSS
Опубликовано Андрей Солдатов on 2021-07-09 14:29

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

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

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

2. Выполнить настройку сервисов myDSS, в соответствие с примером.

3. Сформировать QR-код для пользователя DSS и отсканировать его в приложении myDSS.

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

Необходимо выполнить следующий SQL-запрос:

SELECT 
uk.[device_push_id]
FROM [IdentityServiceDB].[dbo].[AspNetUserLogins] AS ul
LEFT OUTER JOIN [IdentityServiceDB].[dbo].[AuthnTokens] AS ur
on ur.[UserId] = ul.[UserId]
LEFT OUTER JOIN [MyDssServerInternalDB].[dbo].[User] AS uc
on uc.[guid] = JSON_VALUE (Parameters,'$.ExternalUserId')
LEFT OUTER JOIN [MyDssServerInternalDB].[dbo].[Device] AS uk
on uk.[userID] = uc.[userID]
where [device_type] = 'Тип устройства' and [ProviderKey] = 'Логин пользователя' and uk.[is_deleted] != 1

Значение типа устройства в запросе зависит от мобильного устройства пользователя, на котором сканировался QR-код.

  • Для Android-устройств = 1;
  • Для iOS-устройств = 2;
  • Для устройств Huawei = 3.

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

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

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

Запрос на отправку тестового Push-уведомления выполняется из Powershell сервера, где развернут сервис myDSS External (сервис взаимодействия с мобильным приложением), путем выполнения следующих командлетов:

1. Для Android-устройств:

$fcm_notifier = Get-MyDssExternalNotifier|where {$_.Type -eq 'FCM' -and $_.IsEnabled -eq $true}

Test-MyDssExternalNotifier -NotifierID $fcm_notifier.ID -Address "Адрес мобильного устройства" -AddressType FCM

2. Для iOS-устройств:

$apn_notifier = Get-MyDssExternalNotifier|where {$_.Type -eq 'APN' -and $_.IsEnabled -eq $true}

Test-MyDssExternalNotifier -NotifierID $apn_notifier.ID -Address "Адрес мобильного устройства" -AddressType APN

3. Для устройств Huawei:

$hms_notifier = Get-MyDssExternalNotifier|where {$_.Type -eq 'HMS' -and $_.IsEnabled -eq $true}

Test-MyDssExternalNotifier -NotifierID $hms_notifier.ID -Address "Адрес мобильного устройства" -AddressType HMS

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

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