В этом руководстве рассказывается, как интегрировать IMA DAI SDK в приложение с видеопроигрывателем. Если вы хотите посмотреть или использовать готовый пример интеграции, скачайте простой пример с GitHub.
Обзор IMA DAI
Внедрение IMA DAI SDK включает два основных компонента, как показано в этом руководстве:
StreamRequest– объектVODStreamRequestилиLiveStreamRequest, определяющий запрос потока. Запросы потоков могут относиться к видео по запросу или прямым трансляциям. В запросах трансляций указывается ключ объекта, а в запросах видео по запросу – идентификатор CMS и идентификатор видео. В запросы обоих типов можно добавить ключ API, необходимый для доступа к определенным потокам, и код сети Google Менеджера рекламы, который позволит IMA SDK обрабатывать рекламные идентификаторы в соответствии с настройками Менеджера рекламы.StreamManager– объект, который управляет потоками динамической вставки объявлений и взаимодействием с серверной частью динамической вставки объявлений. Менеджер потоков также обрабатывает запросы на отслеживание и пересылает издателю события потока и объявлений.
Требования
- Три пустых файла
- dai.html
- dai.css
- dai.js
- Python, установленный на компьютере, или веб-сервер для тестирования.
Запустите сервер разработки
Поскольку IMA DAI SDK загружает зависимости по тому же протоколу, что и страница, с которой он загружен, для тестирования приложения вам потребуется веб-сервер. Чтобы быстро запустить локальный сервер разработки, можно использовать встроенный сервер Python.
В командной строке в каталоге, содержащем файл
index.html, выполните следующую команду:python -m http.server 8000В браузере откройте страницу
http://localhost:8000/.Вы также можете использовать любой другой веб-сервер, например Apache HTTP Server.
Как создать видеопроигрыватель
Сначала измените файл dai.html, чтобы создать элемент видео HTML5 и элемент div для перехода по клику. В примере ниже импортируется IMA DAI SDK. Подробнее о том, как импортировать IMA DAI SDK…
Также добавьте теги, необходимые для загрузки файлов dai.css и dai.js и импорта видеопроигрывателя hls.js. Затем измените dai.css, чтобы указать размер и положение элементов страницы.
Наконец, в файле dai.js определите переменные, которые будут содержать информацию о запросе потока, функцию initPlayer(), которая будет выполняться при загрузке страницы, и настройте кнопку воспроизведения, чтобы запрашивать поток по клику.
Чтобы возобновить воспроизведение во время рекламных пауз, настройте прослушиватели событий для событий pause и start элемента видео, чтобы показывать и скрывать элементы управления проигрывателем.
Загрузка IMA DAI SDK
Затем добавьте фреймворк IMA, используя тег script в файле dai.html перед тегом для dai.js.
Инициализация StreamManager
Чтобы запросить набор объявлений, создайте объект ima.dai.api.StreamManager, который отвечает за запрос потоков с динамической вставкой объявлений и управление ими. Конструктор принимает элемент видео и элемент интерфейса объявления, чтобы обрабатывать клики по объявлениям.
Как отправить запрос на создание потока
Определите функции для запроса потоков. В этом примере есть функции для видео по запросу и прямых трансляций, которые создают экземпляры классов VODStreamRequest и LiveStreamRequest. Получив экземпляр streamRequest, вызовите метод streamManager.requestStream() с экземпляром запроса потока.
Оба метода запроса потока принимают необязательный ключ API. Если вы используете защищенный поток, вам нужно создать ключ аутентификации для динамической вставки объявлений. Подробнее об аутентификации запросов потокового видео при динамической вставке объявлений…
Ни один из потоков в этом примере не защищен ключом аутентификации для динамической вставки объявлений, поэтому параметр apiKey не используется.
Анализ метаданных потока
Также необходимо добавить обработчик, который будет отслеживать события временных метаданных и пересылать их в класс StreamManager, чтобы IMA мог генерировать события объявлений во время рекламных пауз.
В этом руководстве для воспроизведения потока используется проигрыватель hls.js, но реализация метаданных зависит от типа используемого проигрывателя.
Обработка событий потока
Реализуйте прослушиватели событий для основных событий видео. В этом примере события LOADED, ERROR, AD_BREAK_STARTED и AD_BREAK_ENDED обрабатываются путем вызова функции onStreamEvent(). Эта функция обрабатывает загрузку потока, ошибки потока и отключение элементов управления проигрывателем во время воспроизведения объявления, что требуется для IMA SDK.
После загрузки потока видеопроигрыватель загружает и воспроизводит предоставленный URL с помощью функции loadUrl().
Готово! Теперь вы можете запрашивать и показывать объявления с помощью IMA DAI SDK. Чтобы узнать о расширенных функциях SDK, ознакомьтесь с другими руководствами или примерами на GitHub.