In-App Web View Actions
В In-App Web View для коммуникации фронтенда с приложением реализована система сериализуемых действий.
Схема действий соответствует схеме действий из SDUI фреймворка DivKit.
Принцип работы
Фронтенд собирает список действий, конвертирует в JSON, преобразовывает в формат Base64URL и подставляет в адресную строку.
Приложение реагирует на изменение адресной строки и если там есть introvert-actions
query параметр, то начинается обработка действий.
Обработчик преобразует Base64URL в JSON и последовательно выполняет поддерживаемые действия.
Если действие не поддерживается, то оно пропускается и происходит переход к следующему действию.
Поддерживаемые действия
В этом разделе описаны поддерживаемые действия и пример их использования.
Навигация в приложении
Действия используемые для навигации внутри приложения
Перейти по пути
Если в стеке открыта эта страница, то произойдет переход к ней
Иначе откроется новая страница по этому пути
{
"url": "introvert-action://navigate-route",
"payload": {
"path": "<PATH>"
}
}
Добавить страницу в стек
Откроется новая страница по этому пути
{
"url": "introvert-action://push-route",
"payload": {
"path": "<PATH>"
}
}
Закрыть Web View
Закроет текущую вебвью страницу
{
"url": "introvert-action://close-webview"
}
Коммуникация с пользователем
Действия используемые для информирования пользователя
Показать снекбар
Покажет снекбар снизу с переданным текстом
{
"url": "introvert-action://show-snackbar",
"payload": {
"text": "Отправили подарочный сертификат на твою почту"
}
}
Бизнес-логика
Действия используемые для выполнения бизнес-логики
Проверить состояние подписки
Запустит обновление статуса подписки
{
"url": "introvert-action://refresh-subscription"
}