Пакеты 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 .