Сервис для отправки push-уведомлений на различные поверхности.
Сервис недоступен в проектах SaluteBot.
Перед использованием сервиса:
- Подключите в Studio проект SmartServices.
- Получите доступы к SmartPush.
- Создайте шаблон push-уведомлений.
Для использования сервиса в проект надо подключить скрипт smartPush.js:
scriptsPreLoad:
global:
- /jsapi/smartPush.js
Получение разрешения
Запрос разрешения на отправку push-уведомлений передается с помощью метода getRuntimePermissions():
$smartPush.getRuntimePermissions()
В ответ на запрос возвращается сообщение TAKE_RUNTIME_PERMISSIONS:
{
"messageId": "1605196199186625000",
"sessionId": "0062530b-5521-42cc-90b0-a9d65dea4e98",
"messageName": "TAKE_RUNTIME_PERMISSIONS",
"payload": {
"permitted_actions": [
"service_push"
],
"status_code": {
"code": 1,
"description": "success"
}
},
"uuid": {
"userId": "ec8a9097-1508-4bec-8d97-67f2329c03e0",
"userChannel": "B2C"
}
}
Тело сообщения сохраняется в поле data.eventData системной переменной $request. Например, код ответа можно получить обратившись к полю code:
$request.data.eventData.payload.status_code.code
Поле code может содержать значения:
| Код | Описание |
|---|---|
| 1 | Получено согласие пользователя на отправку уведомлений |
| 101 | Пользователь отклонил запрос на отправку уведомлений |
| 102 | У смартапа нет прав на отправку уведомлений |