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