Перед добавлением уведомлений в смартап, подключите в проект сервис SmartPush.
Уведомления недоступны в проектах SaluteBot.
- Graph
- Code
- SmartApp Framework
Для отправки push-уведомлений:
-
Откройте проект SmartService и перейдите на вкладку Доступы.
-
Нажмите кнопку Получить Client Secret для получения доступа к шаблону SmartPush.
-
Перейдите в Studio в раздел Дополнения → Push-уведомления и скопируйте ID шаблона.
-
Откройте проект смартапа, в который хотите добавить push-уведомления.
Проект смартапа должен быть создан в том же пространстве, что и проект SmartService. Если вы разрабатываете смартап как индивидуальный предприниматель или юридическое лицо, то вы можете перенести смартап в нужное корпоративное пространство при создании шаблона уведомлений.
-
Перейдите раздел Токены → Системные токены и убедитесь в наличии токенов для работы со SmartService.
Если токены отсутствуют, проверьте что заявка на работу со SmartPush одобрена и сервис подключен к проекту.
-
Добавьте блок SmartPush Разрешение на отдельный экран сценария, чтобы запросить согласие пользователя на получение push-уведомлений.
-
В проекте смартапа добавьте блок SmartPush Отправка на нужный экран смартапа и заполните необходимые поля.
Если в заголовке и тексте шаблона уведомления используются переменные, их надо указать в полях вкладок Параметры заголовка и Параметры сообщения соответственно.
-
Протестируйте уведомления в приложении или на устройстве.
Для отправки push-уведомлений:
-
Откройте проект смартапа, в который хотите добавить push-уведомления.
Проект смартапа должен быть создан в том же пространстве, что и проект SmartService. Если вы разрабатываете смартап как индивидуальный предприниматель или юридическое лицо, то вы можете перенести смартап в нужное корпоративное пространство при создании шаблона уведомлений.
-
Перейдите раздел Токены → Системные токены и убедитесь в наличии токенов для работы со SmartService.
Если токены отсутствуют, проверьте что заявка на работу со SmartPush одобрена и сервис подключен к проекту.
-
Запросите разрешение пользователя на получение push-уведомлений.
-
Подключите встроенный сервис
$smartPush
. -
Получите разрешение пользователя на отправку уведомлений с помощью метода
$smartPush.getRuntimePermissions()
. -
На нужном этапе сценария задайте параметры уведомления и отправьте его с помощью метода
$smartPush.send(deliveryConfig, authConfig)
://Параметры уведомления
script: var deliveryConfig = {
deliveryMode: 'BROADCAST',
surface: 'COMPANION',
templateContent: {
id: '49061553-27c7-4471-9145-d8d6137c57da',
//Переменные заголовка уведомления, заданные в шаблоне
headerValues: {},
//Переменные текста уведомления, заданные в шаблоне
bodyValues: {},
mobileAppParameters: {
deeplinkAndroid: 'example-listen-android',
deeplinkIos: 'example-mai-listen-ios',
buttonText: 'Слушать',
},
},
};
//Авторизация вызова
//Параметр надо передавать, если в проекте не заданы системные токены
var authConfig = {
client_id: '$clietnId',
secret: '$secret',
scope: 'SMART_PUSH',
};
//Вызов сервиса
$smartPush
.send(deliveryConfig, authConfig)
.then(function (success) {
$response.data = 'success response';
$response.status = success.status;
$response.response = success.response;
return success;
})
.catch(function (error) {
$response.data = 'fail response';
$response.status = error.status;
$response.response = error.response;
$response.error = error.error;
}); -
Протестируйте уведомления в приложении или на устройстве.
Для отправки push-уведомлений используется действие PushActionHttp, которое формирует HTTP-запрос к API SmartPush.
Перед отправкой push-уведомлений с помощью PushActionHttp:
- Получите токен авторизации с помощью действия
PushAuthenticationActionHttp
. - Получить разрешение на отправку push-уведомлений.
Получение токена
Поле | Описание |
---|---|
push_authentication |
|
Параметры действия:
{
"type": "push_authentication",// обязательный параметр
"url": "https://ngw.devices.sberbank.ru:9443/api/v2/oauth",// адрес для аутентификации. Необязательный параметр. По умолчанию https://ngw.devices.sberbank.ru:9443/api/v2/oauth
"client_id": "@!89FB.4D62.3A51.A9EB!0001!96E5.AE89!0008!B1AF.DB7D.1586.84F3",// обязательный параметр
"client_secret": "secret",// обязательный параметр
"behavior": "common_behavior"// необязательный параметр, по умолчанию "common_behavior"
}
Результат запроса сохраняется в переменной user.variables
, после выполнения метода process_result класса HTTPRequestAction.
Данные доступны в полях ответа:
user.variables.raw
илиuser.variables.raw ["push_authentification_response"]
;user.variables.value
илиuser.variables.value ["push_authentification_response"]
.
О получении токена читайте в разделе Аутентификация.
Для всех полей доступна шаблонная генерация. Значение можно передавать в формате строки.
Получение разрешения на отправку push-уведомлений
Поле | Описание |
---|---|
get_runtime_permissions |
|
Параметры действия:
{
"type": "get_runtime_permissions",// обязательный параметр
"behavior": "common_behavior"// обязательный параметр
}