SDK IMA упрощают интеграцию мультимедийной рекламы в ваши веб-сайты и приложения. SDK IMA могут запрашивать рекламу с любого рекламного сервера , совместимого с VAST , и управлять воспроизведением рекламы в ваших приложениях. С SDK IMA DAI приложения отправляют запрос на потоковое видео, включающее рекламу и контент — либо видео по запросу, либо прямой эфир. Затем SDK возвращает объединенный видеопоток, так что вам не нужно управлять переключением между рекламой и контентом внутри вашего приложения.
Выберите интересующее вас решение DAI.
Подача капсул DAI
В этом руководстве показано, как интегрировать SDK IMA DAI в простое приложение видеоплеера. Если вы хотите посмотреть или пройтись по готовому примеру интеграции, скачайте PodServingExample с GitHub.
Обзор IMA DAI
Реализация IMA DAI включает в себя четыре основных компонента SDK, как показано в этом руководстве:
-
IMAAdDisplayContainer– объект-контейнер, который располагается поверх элемента воспроизведения видео и содержит элементы пользовательского интерфейса рекламы. -
IMAAdsLoader— объект, который запрашивает потоки и обрабатывает события, запускаемые объектами запроса и ответа потока. Следует создавать только один экземпляр загрузчика рекламы, который можно использовать повторно на протяжении всего жизненного цикла приложения. -
IMAStreamRequest– это либоIMAPodVODStreamRequest, либоIMAPodStreamRequest. -
IMAStreamManager— объект, обрабатывающий потоки динамической вставки рекламы и взаимодействие с бэкэндом DAI. Менеджер потоков также обрабатывает запросы отслеживания и пересылает события потока и рекламы издателю.
Кроме того, для воспроизведения потоков, предоставляемых через под-серверы, необходимо реализовать собственный обработчик VTP . Этот пользовательский обработчик VTP отправляет идентификатор потока вашему техническому партнеру по видео (VTP) вместе с любой другой информацией, необходимой для возврата манифеста потока, содержащего как контент, так и встроенную рекламу. Ваш VTP предоставит инструкции по реализации вашего пользовательского обработчика VTP.
Предварительные требования
Прежде чем начать, вам потребуется следующее:
- Xcode 13 или более поздняя версия
- CocoaPods (предпочтительно), Swift Package Manager или загруженная копия SDK IMA DAI для iOS.
Вам также понадобятся параметры, использованные для запроса потока данных из SDK IMA.
| Параметры прямой трансляции | |
|---|---|
| Сетевой код | Сетевой код для вашей учетной записи Ad Manager 360. |
| Пользовательский ключ актива | Пользовательский ключ ресурса, идентифицирующий событие Pod Serving в Ad Manager 360. Он может быть создан вашим инструментом манифеста или сторонним партнером по Pod Serving. |
| Параметры потока VOD | |
| Сетевой код | Сетевой код для вашей учетной записи Ad Manager 360. |
Создайте новый проект Xcode.
В Xcode создайте новый проект iOS на языке Objective-C с именем "PodServingExample".
Добавьте SDK IMA DAI в проект Xcode.
Для установки SDK IMA DAI используйте один из этих трех способов.
Установите SDK с помощью Swift Package Manager.
Начиная с версии 3.18.4, SDK для интерактивной рекламы поддерживает Swift Package Manager . Для импорта пакета Swift выполните следующие действия.
В Xcode установите пакет IMA DAI SDK Swift, перейдя в меню Файл > Добавить пакеты .
В появившемся окне найдите репозиторий IMA DAI SDK Swift Package на GitHub:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosВыберите версию пакета IMA DAI SDK Swift, которую вы хотите использовать. Для новых проектов мы рекомендуем использовать версию «Up to Next Major Version» .
После завершения Xcode разрешит зависимости ваших пакетов и загрузит их в фоновом режиме. Более подробную информацию о добавлении зависимостей пакетов см. в статье Apple .
Установите SDK IMA DAI с помощью CocoaPods.
CocoaPods — это менеджер зависимостей для проектов Xcode, предназначенный для установки SDK IMA DAI. Более подробную информацию об установке или использовании CocoaPods см. в документации CocoaPods . После установки CocoaPods используйте следующие инструкции для установки SDK IMA DAI:
В той же директории, где находится файл PodServingExample.xcodeproj , создайте текстовый файл с именем Podfile и добавьте в него следующую конфигурацию:
В директории, содержащей файл Podfile, выполните следующую команду:
pod install --repo-update
Загрузите и установите SDK вручную.
Если вы не хотите использовать Swift Package Manager или CocoaPods, вы можете загрузить SDK IMA DAI и добавить его в свой проект вручную.
Создайте простой видеоплеер.
Реализуйте видеоплеер в главном контроллере представления, используя AV-плеер, обернутый в UI-представление. SDK IMA использует UI-представление для отображения рекламных элементов интерфейса.
Objective-C
Быстрый
Инициализируйте загрузчик рекламы.
Импортируйте IMA SDK в свой контроллер представления и используйте протоколы IMAAdsLoaderDelegate и IMAStreamManagerDelegate для обработки событий загрузки рекламы и управления потоком.
Добавьте эти закрытые свойства для хранения ключевых компонентов IMA SDK:
-
IMAAdsLoader— управляет запросами потоковой передачи на протяжении всего жизненного цикла вашего приложения. -
IMAAdDisplayContainer— отвечает за вставку и управление элементами пользовательского интерфейса рекламы. -
IMAAVPlayerVideoDisplay— обеспечивает связь между IMA SDK и вашим медиаплеером и обрабатывает метаданные с привязкой ко времени. -
IMAStreamManager— управляет воспроизведением потокового видео и запускает события, связанные с рекламой.
После загрузки страницы инициализируйте загрузчик рекламы, контейнер отображения рекламы и отображение видео.
Objective-C
Быстрый
Отправить запрос на трансляцию
Когда пользователь нажимает кнопку воспроизведения, отправляется новый запрос на трансляцию. Для прямых трансляций используйте класс IMAPodStreamRequest . Для видеопотоков используйте класс IMAPodVODStreamRequest .
Для отправки запроса на потоковую передачу необходимы параметры потока, а также ссылка на контейнер показа рекламы и место отображения видео.
Objective-C
Быстрый
Прослушивайте события загрузки потока
Класс IMAAdsLoader вызывает методы IMAAdsLoaderDelegate при успешной инициализации или при сбое запроса потока.
В методе делегата adsLoadedWithData установите свой IMAStreamManagerDelegate . Передайте идентификатор потока вашему пользовательскому обработчику VTP и получите URL-адрес манифеста потока. Для прямых трансляций загрузите URL-адрес манифеста на экран видео и начните воспроизведение. Для видеопотоков VOD передайте URL-адрес манифеста методу loadThirdPartyStream менеджера потоков. Этот метод запрашивает данные о событии рекламы у Ad Manager 360, затем загружает URL-адрес манифеста и начинает воспроизведение.
В методе делегата failedWithErrorData запишите ошибку в лог. При желании воспроизведите резервную копию видеопотока. См. рекомендации по использованию DAI .
Objective-C
Быстрый
Реализуйте собственный обработчик VTP.
Пользовательский обработчик VTP отправляет идентификатор потока зрителя вашему техническому партнеру по видео (VTP) вместе с любой другой информацией, необходимой вашему VTP для возврата манифеста потока, содержащего как контент, так и вшитую рекламу. Ваш VTP предоставит конкретные инструкции по внедрению вашего пользовательского обработчика VTP.
Например, VTP может включать URL-адрес шаблона манифеста, содержащий макрос [[STREAMID]] . В этом примере обработчик вставляет идентификатор потока вместо макроса и возвращает результирующий URL-адрес манифеста.
Objective-C
Быстрый
Слушайте рекламные события
Модуль IMAStreamManager вызывает методы IMAStreamManagerDelegate для передачи событий потока и ошибок в ваше приложение.
В этом примере выведите основные рекламные события в консоль:
Objective-C
Быстрый
Очистка активов IMA DAI
Чтобы остановить воспроизведение потока, остановить отслеживание рекламы и освободить все загруженные ресурсы потока, вызовите метод IMAStreamManager.destroy() .
Запустите приложение, и если всё пройдёт успешно, вы сможете запрашивать и воспроизводить потоки Google DAI с помощью IMA SDK. Чтобы узнать о более продвинутых функциях SDK, см. другие руководства, перечисленные в левой боковой панели, или примеры на GitHub .

