Skip to content

In-App Web View Actions

В In-App Web View для коммуникации фронтенда с приложением реализована система сериализуемых действий.

Схема действий соответствует схеме действий из SDUI фреймворка DivKit.

Принцип работы

Фронтенд собирает список действий, конвертирует в JSON, преобразовывает в формат Base64URL и подставляет в адресную строку.

Приложение реагирует на изменение адресной строки и если там есть introvert-actions query параметр, то начинается обработка действий.

Обработчик преобразует Base64URL в JSON и последовательно выполняет поддерживаемые действия.

Если действие не поддерживается, то оно пропускается и происходит переход к следующему действию.

Поддерживаемые действия

В этом разделе описаны поддерживаемые действия и пример их использования.

Навигация в приложении

Действия используемые для навигации внутри приложения

Перейти по пути

Если в стеке открыта эта страница, то произойдет переход к ней

Иначе откроется новая страница по этому пути

json
{
  "url": "introvert-action://navigate-route",
  "payload": {
    "path": "<PATH>"
  }
}

Добавить страницу в стек

Откроется новая страница по этому пути

json
{
  "url": "introvert-action://push-route",
  "payload": {
    "path": "<PATH>"
  }
}

Закрыть Web View

Закроет текущую вебвью страницу

json
{
  "url": "introvert-action://close-webview"
}

Коммуникация с пользователем

Действия используемые для информирования пользователя

Показать снекбар

Покажет снекбар снизу с переданным текстом

json
{
  "url": "introvert-action://show-snackbar",
  "payload": {
    "text": "Отправили подарочный сертификат на твою почту"
  }
}

Бизнес-логика

Действия используемые для выполнения бизнес-логики

Проверить состояние подписки

Запустит обновление статуса подписки

json
{ 
  "url": "introvert-action://refresh-subscription"
}

Авторы

The avatar of contributor named as melvspace melvspace
The avatar of contributor named as Vadim Melnikov Vadim Melnikov

История