Пакеты IMA SDK упрощают интеграцию мультимедийной рекламы в ваши веб-сайты и приложения. Пакеты IMA SDK могут запрашивать рекламу с любого рекламного сервера , совместимого с VAST, и управлять её воспроизведением в ваших приложениях. С помощью пакетов IMA DAI SDK приложения запрашивают потоковое видео для рекламы и контента — как VOD, так и прямой трансляции. Затем SDK возвращает объединённый видеопоток, поэтому вам не придётся переключаться между рекламой и контентом в приложении.
Выберите интересующее вас решение DAI
Полный комплекс услуг DAI
В этом руководстве показано, как интегрировать IMA DAI SDK в приложение видеоплеера. Если вы хотите просмотреть или изучить готовый пример интеграции, скачайте простой пример с GitHub.
Обзор IMA DAI
Реализация IMA DAI SDK включает два основных компонента, как показано в этом руководстве:
-
StreamRequest
—VODStreamRequest
илиLiveStreamRequest
: объект, определяющий запрос потока. Запросы потока могут быть предназначены как для видео по запросу, так и для прямых трансляций. В запросах прямых трансляций указывается ключ ресурса, а в запросах VOD — идентификатор CMS и идентификатор видео. Оба типа запросов могут дополнительно включать ключ API, необходимый для доступа к указанным потокам, и сетевой код Google Ad Manager для IMA SDK для обработки идентификаторов объявлений, указанных в настройках Google Ad Manager. -
StreamManager
: объект, который обрабатывает потоки динамической вставки рекламы и взаимодействует с бэкендом DAI. Менеджер потоков также обрабатывает запросы отслеживания и пересылает события потоков и рекламы издателю.
Предпосылки
- Три пустых файла
- 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 video и 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
, который отвечает за запрос и управление потоками DAI. Конструктор принимает элемент video и элемент пользовательского интерфейса для обработки кликов по рекламе.
Подать заявку на трансляцию
Определите функции для запроса потоков. Этот пример включает функции как для VOD, так и для прямых трансляций, которые создают экземпляры классов VODStreamRequest
и LiveStreamRequest
. После создания экземпляра streamRequest
вызовите метод streamManager.requestStream()
с экземпляром запроса потока.
Оба метода запроса потока требуют необязательного ключа API. Если вы используете защищённый поток, необходимо создать ключ аутентификации DAI. Подробнее см. в разделе Аутентификация запросов видеопотока DAI . Ни один из потоков в этом примере не защищён ключом аутентификации DAI, поэтому apiKey
не используется.
Анализ метаданных потока
Вам также необходимо добавить обработчик для прослушивания синхронизированных событий метаданных и пересылки событий в класс StreamManager
, чтобы IMA мог генерировать рекламные события во время рекламных пауз:
В этом руководстве для потокового воспроизведения используется проигрыватель hls.js
, но реализация метаданных зависит от типа используемого вами проигрывателя.
Обработка событий потока
Реализуйте прослушиватели важных событий видео. В этом примере события LOADED
, ERROR
, AD_BREAK_STARTED
и AD_BREAK_ENDED
обрабатываются вызовом функции onStreamEvent()
. Эта функция обрабатывает загрузку потока, ошибки потока и отключение элементов управления проигрывателем во время воспроизведения рекламы, что требуется для IMA SDK.
Когда поток загружен, видеоплеер загружает и воспроизводит предоставленный URL с помощью функции loadUrl()
.
Вот и всё! Теперь вы запрашиваете и показываете рекламу с помощью IMA DAI SDK. Чтобы узнать о более продвинутых функциях SDK, ознакомьтесь с другими руководствами или примерами на GitHub .