IMA SDK позволяет легко интегрировать мультимедийные объявления на сайты и в приложения. IMA SDK могут запрашивать объявления у любого совместимого с VAST сервера объявлений и управлять воспроизведением рекламы в ваших приложениях. При использовании IMA DAI SDK приложения отправляют запрос на показ рекламы и видеоконтента (видео по запросу или прямых трансляций). Затем SDK возвращает объединенный видеопоток, чтобы вам не приходилось переключаться между видеообъявлением и контентом в приложении.
Выберите решение для динамической вставки объявлений
Динамическая вставка объявлений с полной поддержкой
В этом руководстве рассказывается, как интегрировать IMA DAI SDK в простой видеопроигрыватель. Если вы хотите посмотреть или повторить пример интеграции, скачайте BasicExample с GitHub.
Общие сведения о динамической вставке объявлений с помощью IMA SDK
Внедрение IMA DAI включает четыре основных компонента SDK, как показано в этом руководстве:
StreamDisplayContainer: Объект-контейнер, который находится над элементом воспроизведения видео и содержит элементы интерфейса объявления.AdsLoader: объект, который запрашивает потоки и обрабатывает события, вызванные объектами ответа на запрос потока. Вам нужно создать только один экземпляр загрузчика объявлений, который можно использовать повторно в течение всего жизненного цикла приложения.StreamRequest: объект, определяющий запрос потока. Запросы потока могут быть для видео по запросу или прямых трансляций. В запросах трансляций указывается ключ объекта, а в запросах видео по запросу – идентификатор CMS и идентификатор видео. В запросах обоих типов можно указать ключ API, необходимый для доступа к определенным потокам, и код сети Google Менеджера рекламы, чтобы IMA SDK обрабатывал идентификаторы объявлений в соответствии с настройками Google Менеджера рекламы.StreamManager: Объект, который обрабатывает потоки динамической вставки объявлений и взаимодействия с серверной частью DAI. Менеджер потока также обрабатывает пинги отслеживания и пересылает издателю события потока и объявлений.
Требования
- Android Studio
- Пример приложения с видеопроигрывателем для интеграции SDK
Скачайте и запустите пример приложения видеопроигрывателя
В примере приложения есть рабочий видеопроигрыватель, который воспроизводит видео HLS. Используйте его в качестве отправной точки для интеграции функций DAI из IMA DAI SDK.
Скачайте пример приложения видеопроигрывателя и извлеките его.
Запустите Android Studio и выберите Open an existing Android Studio project (Открыть существующий проект Android Studio). Если Android Studio уже запущена, выберите File > New > Import Project (Файл > Создать > Импортировать проект). Затем выберите
SampleVideoPlayer/build.gradle.Запустите синхронизацию Gradle, выбрав Tools (Инструменты) > Android > Sync Project with Gradle Files (Синхронизировать проект с файлами Gradle).
Убедитесь, что приложение проигрывателя компилируется и запускается на физическом устройстве Android или виртуальном устройстве Android с помощью команды Run > Run 'app' (Запустить > Запустить приложение). Для загрузки видеопотока перед воспроизведением может потребоваться некоторое время.
Изучите образец видеопроигрывателя
В образце видеопроигрывателя пока нет кода интеграции IMA DAI SDK. Пример приложения состоит из двух основных частей:
samplevideoplayer/SampleVideoPlayer.java: проигрыватель HLS на основе ExoPlayer, который используется для интеграции IMA DAI.videoplayerapp/MyActivity.java: это действие создает видеопроигрыватель и передает емуContextиmedia3.ui.PlayerView.
Как добавить IMA DAI SDK в приложение проигрывателя
Также необходимо добавить ссылку на IMA DAI SDK. В Android Studio добавьте в файл build.gradle на уровне приложения, расположенный в каталоге app/build.gradle, следующие строки: Для IMA SDK требуется включить десахаризацию библиотеки. Для этого нужно задать coreLibraryDesugaringEnabled true и добавить 'com.android.tools:desugar_jdk_libs' в качестве зависимости в файле build.gradle. Подробнее о Java 11+ API, доступных через десахаризацию со спецификацией nio…
Интегрируйте IMA DAI SDK
Создайте новый класс
SampleAdsWrapperв пакетеvideoplayerapp(вapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/), чтобы упаковать существующийSampleVideoPlayerи добавить логику, реализующую IMA DAI. Для этого сначала нужно создатьAdsLoader, который будет использоваться для запроса трансляции с динамической вставкой объявлений.В этом фрагменте кода приведены примеры параметров для потоков HLS и DASH, а также для прямых трансляций и видео по запросу. Чтобы указать, какой поток воспроизводится, обновите переменную
CONTENT_TYPE.Создайте вспомогательный метод
createSampleVideoPlayerCallback()для создания экземпляра интерфейсаSampleVideoPlayerCallback, который расширяетVideoStreamPlayer.VideoStreamPlayerCallback.Чтобы использовать DAI, проигрыватель должен передавать события ID3 в IMA DAI SDK. В приведенном ниже примере кода это делается с помощью метода
callback.onUserTextReceived().Добавьте метод
buildStreamRequest(), чтобы создатьSteamRequest. Этот метод переключается между разными потоками в зависимости от того, как вы задали переменнуюCONTENT_TYPE. В этом руководстве используется поток VOD HLS из IMA.Для воспроизведения потока также нужен
VideoStreamPlayer, поэтому добавьте методcreateVideoStreamPlayer(), который создает анонимный класс, реализующийVideoStreamPlayer.Реализуйте необходимые прослушиватели и добавьте поддержку обработки ошибок.
Обратите внимание на реализацию
AdErrorListener, поскольку она вызывает резервный URL, если не удается воспроизвести рекламу. Поскольку контент и реклама находятся в одном потоке, вы должны быть готовы вызвать резервный поток, если в потоке с динамической вставкой объявлений произойдет ошибка.Добавьте код для ведения журнала.
Измените метод
MyActivityв классеvideoplayerapp, чтобы создать экземпляр и вызвать методSampleAdsWrapper. Также вызовитеImaSdkFactory.initialize(), используя вспомогательный метод для создания экземпляраImaSdkSettings.Добавьте вспомогательный метод
getImaSdkSettings(), чтобы создать экземплярImaSdkSettings.Измените файл макета Activity
activity_my.xml, чтобы добавить элементы интерфейса для регистрации.
Поздравляем! Теперь вы можете запрашивать и показывать видеообъявления в приложении для Android. Чтобы настроить реализацию, ознакомьтесь с информацией о закладках, возврате к началу и документации по API.
Устранение неполадок
Если у вас возникли проблемы с воспроизведением видеообъявления, попробуйте скачать готовый пример BasicExample. Если в BasicExample все работает правильно, то, скорее всего, проблема в коде интеграции IMA в вашем приложении.
Если у вас по-прежнему возникают проблемы, посетите форум IMA SDK.