Отладочный режим интерактивных объявлений

Для разработки и тестирования интерактивного объявления без аккаунта CS Play запустите плеер в режиме отладки: он имитирует воспроизведение одного интерактива из локальной папки.

На Windows запустите приложение cityscreen-player.exe (не CSPlayer.exe!), которое располагается по умолчанию в C:\Program Files\CSPlayer\lib\player, со следующими аргументами командной строки.

Аргументы запуска

1. --dev-package C:\Path\To\Folder

Обязательный параметр для запуска в режиме отладки. Аргументом является путь к папке, содержащей интерактив. В корне папки обязательно должен присутствовать файл index.html. В случаях, когда путь к папке указан неверно, либо в ней отсутствует указанный файл, приложение запустится, отображая только чёрный экран. Информация о соответствующей ошибке выводится в логи. Пример:

--dev-package "C:\Users\user\AppData\Local\CityScreen\CSPlayer\screen\files\example"

2. --inject-json C:\Path\To\playerData.json

Аргументом является путь к файлу, содержащему JSON-объект, который должен передаваться в интерактив при тестировании; инициализирует объект csBackend.playerData на стороне интерактива. Необязательный параметр. При отсутствии интерактиву передаётся пустой JSON-объект. Пример:

--inject-json "C:\Users\user\AppData\Local\CityScreen\CSPlayer\screen\files\example\inject.json"

3. --slot-duration int|msec

Длительность воспроизведения интерактива, аналог длительности объявления; аргументом является значение в миллисекундах. Необязательный параметр. При отсутствии интерактив воспроизводится до закрытия приложения. Пример:

--slot-duration 10000

4. --preload-duration int|msec

Длительность подгрузки интерактива перед началом воспроизведения; аргументом является значение в миллисекундах. Необязательный параметр. При отсутствии длительность подгрузки устанавливается в значение 3000 мс. Минимальное значение 3000 мс. Пример:

--preload-duration 10000

5. --debug-remote-port int|http_port

Локальный порт, по которому будет вестись отладка объявления. Необязательный параметр, по умолчанию 11111. Пример:

--debug-remote-port 11111

6. --width int|px и --height int|px

Ширина и высота окна плеера. Необязательный параметр, по умолчанию 720×360 пикселей. Пример:

--width 720 --height 360

Алгоритм работы отладочного режима

При запуске приложения в режиме отладки (при указании обязательного аргумента --dev-package) плеер имитирует воспроизведение одного интерактива.

Окно плеера в режиме отладки

Отладка через Chromium Browser

После подгрузки объявления есть возможность подключить к приложению удалённую панель разработчика Chromium. Для этого, при запущенном в режиме тестирования плеере, перейдите в браузере Chrome (или другом Chromium-браузере) по адресу http://localhost:номер_порта. Порт задаётся параметром --debug-remote-port. По умолчанию панель располагается по адресу http://localhost:11111.

Начиная с Google Chrome версии 80, для работы удалённой отладки необходимо запустить браузер со следующими аргументами:

--enable-blink-features=ShadowDOMV0,CustomElementsV0

При этом в окне Chrome будет висеть надпись:

Предупреждение Chrome о неподдерживаемых флагах

Совместимую сборку Chromium можно скачать по ссылке.

Кеширование веб-содержимого

CS Player кеширует ресурсы, загруженные для веб-сайтов и HTML5-объявлений (страницы, скрипты, стили, изображения), на диске, аналогично обычному браузеру. Это ускоряет повторную загрузку, но может приводить к тому, что плеер отображает устаревшую версию сайта после внесения изменений.

Отключение кеширования на веб-сервере (для разработки)

На время разработки и отладки сайта рекомендуется отключить кеширование на стороне веб-сервера. Это гарантирует, что плеер всегда загружает актуальную версию контента.

Для этого добавьте HTTP-заголовок Cache-Control: no-cache, no-store, must-revalidate в ответы сервера.

Пример конфигурации nginx:

location / {
    try_files $uri $uri/ =404;
    expires -1;
}

Директива expires -1 заставляет nginx добавлять заголовки, запрещающие кеширование.

После завершения разработки и тестирования верните настройки кеширования к рабочим значениям: отключённое кеширование увеличивает нагрузку на сервер и объём трафика.

Очистка кеша веб-содержимого на плеере

Если плеер продолжает отображать устаревший контент (например, после обновления сайта при включённом кешировании), выполните очистку кеша вручную:

  1. Остановите плеер CS Player.

  2. Откройте в проводнике директорию:

    %LOCALAPPDATA%\CityScreen\cityscreen-libqt5player\QtWebEngine

    Полный путь выглядит примерно так: C:\Users\<имя_пользователя>\AppData\Local\CityScreen\cityscreen-libqt5player\QtWebEngine.

  3. Удалите содержимое папки QtWebEngine (или всю папку целиком).

  4. Запустите CS Player — папка кеша будет создана заново автоматически.

Для доступа к скрытой папке AppData введите путь %LOCALAPPDATA% в адресной строке проводника Windows и нажмите Enter.