Frontend
SmartApp frontend представляет из себя SPA-приложение, выполняемое во встроенном WebView/iFrame клиента "eXpress".
Разработка
Выбор технологического стека для разработки не ограничен. Например, можно использовать известные библиотеки/фреймворки React, Angular или Vue. В состав библиотек при сборке следует включить SmartApp SDK для обмена данными с клиентом "eXpress".
Отладка на веб-клиенте
Самый удобный клиент для разработки и отладки — веб-клиент "eXpress". SmartApp frontend запускается в браузере внутри веб-клиента, а выводимые SmartApp сообщения отображаются в консоли браузера.
Для запуска отладки выполните следующие действия:
- Запустите SmartApp frontend локально. К примеру, он доступен по адресу
http://localhost:3000
. - Опубликуйте чат-бот на CTS.
-
В настройках чат-бота скопируйте ID:
-
В веб-клиенте "eXpress" выберите → О программе и нажмите несколько раз на аватар, чтобы открыть инженерное меню.
-
В разделе "SmartApps" передвиньте переключатель "Включить режим отладки SmartApps" вправо и введите:
-
ID чат-бота в поля Bot Huid и SmartApp ID;
-
в поле SmartApp Url ввести адрес из п.1 и добавьте к нему
?platform=web
:
-
-
Нажмите Установить параметры отладки.
-
В списке чатов выберите опубликованный чат-бот из п.2.
Откроется локально запущенный SmartApp.
Логи SmartApp
В консоль браузера выводится весь обмен данными между клиентом "eXpress" и SmartApp.
Для этого в веб-клиенте "eXpress":
-
Выберите → О программе и нажмите несколько раз на аватар, чтобы открыть инженерное меню.
-
На вкладке Общее передвиньте переключатель "Собирать логи SmartApp" вправо, нажав на него:
-
В открывшемся окне выберите SmartApp.
Отладка на iOS
На iOS 16.4 и выше есть возможность отладки запущенного SmartApp.
Примечание
Отладить можно только SmartApp frontend опубликованный на CTS. Нельзя отладить SmartApp запущенный локально на http://localhost.
Для отладки SmartApp выполните следующие действия:
- На устройстве с платформой iOS включите опцию "Веб-инспектор".
- Подключите устройство к компьютеру, на котором установлена ОС "macOS" и браузер "Safari", используя кабель USB или удаленное подключение по Wi-Fi. Или запустите симулятор из XCode.
- На устройстве с платформой iOS откройте "eXpress" версии 3.6 и выше.
-
Нажмите → Инженерное меню и включите опцию "Удаленная отладка SmartApp":
-
Откройте SmartApp в "eXpress".
- Откройте браузер "Safari".
-
Перейдите в Разработка → iPhone (имя вашего девайса) → Выбрать нужную страницу.
Если в строке меню нет пункта Разработка, выберите Safari → Настройки → Дополнения → Показывать меню "Разработка в строке меню".
Примечание
При блокировке устройства подключение разрывается. Восстановите соединение и повторите действия п.6.
Отладка на Android
На Android версии 7.0 и выше есть возможность отладки запущенного SmartApp.
Примечание
Отладить можно только SmartApp frontend опубликованный на CTS. Нельзя отладить SmartApp, запущенный локально на http://localhost.
Для отладки SmartApp выполните следующие действия:
-
На устройстве с платформой Android получите права разработчика.
-
Включите отладку по USB. Если система запросит разрешение, согласитесь с условиями использования.
-
На устройстве с платформой Android откройте "eXpress".
-
Нажмите → О программе. Нажмите несколько раз на логотип "eXpress", чтобы открыть инженерное меню.
-
Перейдите в раздел "Features" и включите опцию "SmartApp remote debug":
-
Подключите устройство к ПК при помощи USB кабеля.
- Откройте браузер "Google Chrome" и перейдите по адресу
chrome://inspect
. -
В открывшемся окне поставьте отметку Discover USB devices.
Если система запросит разрешение, согласитесь с условиями использования.
-
В "eXpress" откройте SmartApp.
От момента запуска SmartApp до отображения его в окне браузера может пройти некоторое время.
-
После того, как блок WebView отобразится в браузере, нажмите inspect, чтобы открыть окно отладки SmartApp: