IMA SDK позволяет легко интегрировать мультимедийные объявления на сайты и в приложения. IMA SDK могут запрашивать объявления у любого совместимого с VAST сервера объявлений и управлять воспроизведением рекламы в ваших приложениях. При использовании IMA DAI SDK приложения отправляют запрос на показ рекламы и видеоконтента (видео по запросу или прямых трансляций). Затем SDK возвращает объединенный видеопоток, чтобы вам не приходилось переключаться между видеообъявлением и контентом в приложении.
Выберите решение для динамической вставки объявлений
Показ пакетов с динамической вставкой объявлений
С помощью IMA SDK можно легко интегрировать мультимедийные объявления в сайты и приложения. IMA SDK могут запрашивать объявления у любого совместимого с VAST сервера объявлений и управлять воспроизведением рекламы в ваших приложениях. При использовании IMA DAI SDK приложения отправляют запрос на показ рекламы и видеоконтента (видео по запросу или прямых трансляций). Затем SDK возвращает объединенный видеопоток, чтобы вам не приходилось переключаться между видеообъявлением и контентом в приложении.
В этом руководстве рассказывается, как воспроизводить поток с динамической вставкой пакетов объявлений с помощью IMA DAI SDK и видеопроигрывателя для трансляций и видео по запросу. Чтобы посмотреть или повторить готовую интеграцию, скачайте пример пакета.
Общие сведения о показе пакетов с динамической вставкой объявлений в IMA DAI
StreamRequest– объект, который определяет запрос потока к рекламным серверам Google. Чтобы включить показ пакетов, манифест должен быть создан с помощьюImaSdkFactory.createPodStreamRequest()илиImaSdkFactory.createPodVodStreamRequest(). Для этих методов требуется код сети, а дляcreatePodStreamRequestтакже нужен ключ пользовательского объекта и необязательный ключ API. Оба варианта включают другие необязательные параметры.StreamManager– объект, который обрабатывает связь между видеопотоком и IMA DAI SDK, например отправляет пинги отслеживания и пересылает события потока издателю.
Требования
Приложение для Android, в котором уже настроен IMA DAI SDK для воспроизведения видеопотоков с объявлениями, размещенными с помощью динамической вставки. Если у вас нет такого приложения, рекомендуем использовать в качестве отправной точки Android DAI BasicExample. В BasicExample есть база кода, на которую ссылается это руководство.
Чтобы IMA DAI работал, ваше приложение должно отправлять события ID3 с помощью
VideoStreamPlayerCallback.onUserTextReceived(). Ознакомьтесь с примером фрагмента кода для DAI с полным набором функций.
Как настроить переменные для показа пакетов
Все изменения, необходимые для показа пакетов, вносятся в файл SampleAdsWrapper.java. Первым делом нужно обновить постоянные переменные.
Ниже перечислены константы запроса потока пакета объявлений, которые необходимо добавить.
STREAM_URL: Используется только для прямых трансляций. URL видеопотока, предоставленный манипулятором манифеста или внешним партнером, который использует пакетную передачу. Вам нужно будет вставить идентификатор трансляции, предоставленный IMA DAI SDK, прежде чем отправлять запрос. В этом случае URL трансляции содержит плейсхолдер"[[STREAMID]]", который перед отправкой запроса заменяется идентификатором трансляции.NETWORK_CODE– код сети вашего аккаунта Менеджера рекламы 360.CUSTOM_ASSET_KEY: используется только для трансляций – специальный ключ объекта, который идентифицирует ваше событие показа блоков в Менеджере рекламы 360. Его может создать ваш инструмент управления манифестом или сторонний партнер по показу пакетов.API_KEY: используется только для трансляций – необязательный ключ API, который может потребоваться для получения идентификатора трансляции из IMA DAI SDK.
Приложение Android DAI BasicExample предназначено для воспроизведения различных типов потоков, но для показа пакетов оно настроено на воспроизведение только одного потока. Измените раздел переменных в примере, чтобы он соответствовал следующему:
Как создать запрос на поток пакета объявлений для трансляции или видео по запросу, чтобы включить показ пакетов объявлений
Показ пакетов в трансляциях
Удален метод buildStreamRequest(), который использовался для переключения между разными типами потоков. Затем измените requestAndPlayAds() на ImaSdkFactory.createPodStreamRequest(), чтобы создать запрос на показ рекламы в Live Pod Serving.
Показ пакетов в видео по запросу
Удалите метод buildStreamRequest(), который использовался для переключения между созданием потоков разных типов. Затем измените requestAndPlayAds() на ImaSdkFactory.createPodVodStreamRequest(), чтобы создать запрос объявления для показа в пакете видео по запросу.
После создания экземпляра запроса потока запросите поток с помощью AdsLoader.requestStream():
Как изменить и настроить URL стрима
Показ пакетов в трансляциях
Вызовите метод StreamManager.getStreamId(), чтобы получить идентификатор потока. Его нужно вставить в STEAM_URL вместо "[[STREAMID]]". После этого измените URL трансляции с помощью метода videoPlayer.setStreamUrl() и вызовите метод videoPlayer.play(), чтобы начать воспроизведение трансляции.
Показ пакетов в видеопотоке по запросу
- Вызовите метод
StreamManager.getStreamId(), чтобы получить идентификатор потока. - Запросите URL потока у своего партнера по видеотехнологиям.
- Получив URL от поставщика видеоконтента, вызовите метод
StreamManager.loadThirdPartyStream()с этим URL, чтобы загрузить трансляцию, а также любые субтитры, которые вернул поставщик.
При запросах на показ пакетов объявлений в видео по запросу IMA вызывает функцию обратного вызова VideoStreamPlayer.loadUrl()
после загрузки потока. Чтобы начать воспроизведение трансляции, добавьте вызовы videoPlayer.setStreamUrl() и videoPlayer.play() в обратный вызов VideoStreamPlayer.loadUrl():
Как удалить объекты IMA DAI
После того как вы успешно запросите и покажете объявления в потоке с показом пакетов объявлений с помощью IMA DAI SDK, мы рекомендуем очистить все ресурсы после завершения сеанса показа пакетов объявлений. Вызовите StreamManager.destroy(), чтобы остановить воспроизведение потока, прекратить отслеживание рекламы и освободить все загруженные объекты потока.
Другие примеры использования Android SDK можно найти на GitHub.