IMA SDK позволяет легко интегрировать мультимедийные объявления на сайты и в приложения. IMA SDK может запрашивать объявления с любого совместимого с VAST сервера объявлений и управлять воспроизведением рекламы в ваших приложениях. С помощью IMA DAI SDK приложения отправляют запрос потока для видеообъявления и контента (видео по запросу или трансляции). Затем SDK возвращает объединенный видеопоток, чтобы вам не приходилось переключаться между видеообъявлением и контентом в приложении.
Выберите решение для динамической вставки объявлений
Показ пакетов с динамической вставкой объявлений
В этом руководстве рассказывается, как интегрировать IMA DAI SDK в приложение видеопроигрывателя. Если вы хотите посмотреть или использовать готовый пример интеграции, скачайте PodServingExample с GitHub.
Общие сведения о динамической вставке объявлений с помощью IMA SDK
Внедрение IMA DAI включает четыре основных компонента SDK, как показано в этом руководстве:
IMAAdDisplayContainer– объект-контейнер, который находится поверх элемента воспроизведения видео и содержит элементы интерфейса объявления.IMAAdsLoader– объект, который запрашивает потоки и обрабатывает события, вызванные объектами ответа на запрос потока. В приложении должен быть только один загрузчик объявлений, который можно использовать многократно.IMAStreamRequest–IMAPodVODStreamRequestилиIMAPodStreamRequest.IMAStreamManager– объект, который обрабатывает потоки динамической вставки объявлений и взаимодействия с серверной частью DAI. Менеджер потока также обрабатывает пинги отслеживания и пересылает издателю события потока и объявлений.
Кроме того, чтобы воспроизводить потоки с показом рекламных блоков, реализуйте специальный обработчик шаблонов VTP. Этот специальный обработчик VTP отправляет идентификатор потока вашему техническому партнеру по видео (VTP) вместе с любой другой информацией, которая ему необходима, чтобы вернуть манифест потока, содержащий как контент, так и вшитые объявления. Инструкции по реализации пользовательского обработчика VTP можно получить у поставщика VTP.
Требования
Прежде чем начать, вам понадобится следующее:
- Xcode 13 или более поздняя версия
- Способ установки IMA SDK:
- Swift Package Manager (рекомендуется)
- Скачайте IMA SDK для iOS.
Кроме того, эти параметры необходимы для запроса трансляции из IMA SDK.
| Параметры трансляций | |
|---|---|
| Код сети |
Код сети для вашего аккаунта Менеджера рекламы 360. |
| Специальный ключ объекта |
Специальный ключ объекта, который идентифицирует событие показа пакета в Менеджере рекламы 360. Его создает ваш инструмент управления манифестом или сторонний партнер по показу пакетов. |
| Параметры трансляции VOD | |
| Код сети |
Код сети для вашего аккаунта Менеджера рекламы 360. |
Как создать проект Xcode
В Xcode создайте новый проект iOS на языке Objective-C с названием PodServingExample.
Добавьте IMA DAI SDK в проект Xcode
Чтобы установить IMA SDK, выберите подходящий способ.
Рекомендуется установить SDK с помощью Swift Package Manager
Начиная с версии 3.18.4, Interactive Media Ads SDK поддерживает Swift Package Manager. Чтобы импортировать пакет Swift, выполните следующие действия:
В Xcode установите пакет IMA DAI SDK Swift. Для этого выберите File (Файл) > Add Packages (Добавить пакеты).
В появившемся окне найдите хранилище IMA DAI SDK Swift Package на GitHub:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosВыберите версию пакета Swift IMA DAI SDK. Для новых проектов используйте вариант До следующей основной версии.
После этого Xcode распознает зависимости пакета и скачает их в фоновом режиме. Подробнее о том, как добавить зависимости пакетов, можно узнать из статьи Apple.
Как скачать и установить SDK вручную
Если вы не хотите использовать Swift Package Manager, скачайте IMA SDK и добавьте его в проект вручную.
Как создать видеопроигрыватель
Реализуйте видеопроигрыватель в основном контроллере представления, поместив AV-проигрыватель в представление пользовательского интерфейса. IMA SDK использует представление пользовательского интерфейса для показа элементов интерфейса объявлений.
Objective-C
Swift
Инициализируйте загрузчик объявлений
Импортируйте IMA SDK в контроллер представления и примените протоколы IMAAdsLoaderDelegate и IMAStreamManagerDelegate для обработки событий загрузчика объявлений и менеджера трансляций.
Добавьте следующие частные свойства для хранения ключевых компонентов IMA SDK:
IMAAdsLoader- Управляет запросами потоков на протяжении всего времени существования приложения.
IMAAdDisplayContainer- Управляет вставкой и настройкой элементов пользовательского интерфейса объявлений.
IMAAVPlayerVideoDisplay– обеспечивает связь между IMA SDK и медиапроигрывателем и обрабатывает метаданные с временными метками.IMAStreamManager– управляет воспроизведением трансляции и активирует события, связанные с рекламой.
Инициализируйте загрузчик объявлений, контейнер для показа объявлений и видео после загрузки представления.
Objective-C
Swift
Как отправить запрос на создание потока
Когда пользователь нажимает кнопку воспроизведения, отправьте новый запрос на трансляцию.
Используйте класс IMAPodStreamRequest для трансляций. Для трансляций VOD используйте класс IMAPodVODStreamRequest.
В запросе потока должны быть указаны параметры потока, а также контейнер для показа объявлений и видео.
Objective-C
Swift
Как отслеживать события загрузки потока
Класс IMAAdsLoader вызывает методы IMAAdsLoaderDelegate при успешной инициализации или сбое запроса потока.
В методе делегата adsLoadedWithData задайте IMAStreamManagerDelegate.
Передайте идентификатор потока в обработчик VTP и получите URL манифеста потока. Для трансляций в прямом эфире загрузите URL манифеста в видеопроигрыватель и начните воспроизведение. Для видео по запросу передайте URL манифеста в метод loadThirdPartyStream менеджера потоковой передачи. Этот метод позволяет запросить данные о событиях объявлений из Менеджера рекламы 360, а затем загрузить URL манифеста и начать воспроизведение.
В методе делегата failedWithErrorData зарегистрируйте ошибку. При необходимости запустите резервный поток. Ознакомьтесь с рекомендациями по динамическому размещению.
Objective-C
Swift
Как реализовать собственный обработчик VTP
Специальный обработчик VTP отправляет идентификатор потока зрителя вашему техническому партнеру по видео (VTP) вместе с любой другой информацией, которая требуется VTP, чтобы вернуть манифест потока, содержащий как контент, так и вшитые объявления. В документации к VTP должны быть инструкции по реализации обработчика.
Например, шаблон VTP может содержать URL шаблона манифеста с макросом [[STREAMID]]. В этом примере обработчик вставляет идентификатор потока вместо макроса и возвращает полученный URL манифеста.
Objective-C
Swift
Как отслеживать события объявлений
Функция IMAStreamManager вызывает методы IMAStreamManagerDelegate, чтобы передавать события и ошибки потока в ваше приложение.
В этом примере основные события объявлений будут регистрироваться в консоли:
Objective-C
Swift
Как удалить объекты IMA DAI
Чтобы остановить воспроизведение трансляции, отслеживание рекламы и освободить все загруженные объекты трансляции, вызовите функцию IMAStreamManager.destroy().
Запустите приложение. Если все прошло успешно, запросите и воспроизведите потоки Google DAI с помощью IMA SDK. Чтобы узнать больше о продвинутых функциях SDK, ознакомьтесь с другими руководствами, перечисленными на боковой панели слева, или примерами на GitHub.