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 работала, ваше приложение должно отправлять события ID3 с помощью
VideoStreamPlayerCallback.onUserTextReceived(). Ознакомьтесь с примером фрагмента кода для динамической вставки объявлений в полнофункциональном режиме.
Как настроить переменные для показа пакетов
Все изменения, необходимые для показа пакетов, вносятся в файл 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() и создать запрос объявления для показа пакета в прямом эфире.
Показ пакетов в потоках видео по запросу
Удалите метод 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.