ShopStory.live: app
Интеграция списка стримов
Чтобы отрисовать список доступных стримов (запланированных, активных, прошедших), нужно получить данные по API.

Нужно сделать GET запрос на URL

https://api.shopstory.live/v3/streams?applicationId=<your client id>
В ответ вы получите список стримов. Формат ответа и описание полей смотрите по ссылке на apidoc выше.
Отрисовка списка стримов
  • Используйте поле status, чтобы понять статус стрима. Для запланированного стрима нужно отрисовать время до начала стрима (поле plannedDate) или блок “Ждем стримера”, если время начало стрима наступило, но стример не начал эфир. Для стрима в прямом эфире отрисуйте блок “live”, для завершенного стрима отрисуйте блок с продолжительностью стрима (необходимо посчитать разницу между значениями даты двух полей — endDate и startDate) и кнопку “Play”
  • Используйте поле previewImages, чтобы отрисовать картинку-превью стрима
  • Используйте поле name, чтобы отрисовать название стрима
  • Массив id товаров из стрима возьмите из поля products
  • ID стримера возьмите из поля streamer
Плеер
При открытии стрима необходимо открывать WebView со ссылкой на конкретный стрим на сайте. Формат ссылки для каждого проекта свой:

https://<client-name.domain>/live/?wv=1#/translation/<translation-id> 
Кнопка закрытия WebView с мобильным плеером должна быть реализована в мобильном приложении (не в WebView).

Если webview открывается на устройствах с safe zone (с чёлкой), добавляйте спец. параметр safe_area=1 в URL:

https://<client-name.domain>/live/?wv=1&safe_area=1#/translation/<translation-id>
Если не хотите интегрировать SDK, то сообщите нам. Мы активируем список стримов по URL:

https://app.shopstory.live/<client-name>/?wv=1#/translation/<translation-id> 
Покупка товара из стрима
iOS
При нажатии на кнопку “Купить” внутри webview, js-код страницы генерирует событие add-product на объекте window. При клике на карточку товара, js-код страницы генерирует событие open-product на объекте window.
Мобильное приложение должно отловить это событие и, например, перенаправить пользователя на View с карточкой товара.
newbedev.com/catch-javascript-event-in-ios-wkwebview-with-swift

const PRODUCT = JSON.stringify({
    name,
    feedProductId,
    feedProductGroupId,
    url,
    vendorCode,
});

window.webkit.messageHandlers['add-product'].postMessage(PRODUCT);
window.webkit.messageHandlers['open-product'].postMessage(PRODUCT);

Android
Для Android приложений при нажатии на кнопку “Купить” внутри webview, js-код страницы вызывает глобальную функцию window.shopstory.addProduct(), которую должно встроить в контекст страницы само приложение. При клике на карточку товара, внутри webview, js-код страницы вызывает глобальную функцию window.shopstory.openProduct(), которую должно встроить в контекст страницы само приложение
stackoverflow.com/questions/36864811/understanding-android-webview-javascript-interface

const PRODUCT = JSON.stringify({
    name,
    feedProductId,
    feedProductGroupId,
    url,
    vendorCode,
});

window.shopstory.addProduct(PRODUCT);
window.shopstory.openProduct(PRODUCT);