IMA SDK упрощают интеграцию мультимедийной рекламы на ваши веб-сайты и приложения. IMA SDK могут запрашивать рекламу с любого рекламного сервера , совместимого с VAST, и управлять воспроизведением рекламы в ваших приложениях. С помощью SDK IMA DAI приложения отправляют потоковый запрос на рекламу и видеоконтент — либо VOD, либо контент в реальном времени. Затем SDK возвращает объединенный видеопоток, так что вам не придется управлять переключением между рекламой и видеоконтентом в вашем приложении.
Выберите решение DAI, которое вас интересует
Под, обслуживающий DAI
В этом руководстве показано, как интегрировать IMA DAI SDK в простое приложение видеоплеера. Если вы хотите просмотреть или проследить за завершенным примером интеграции, загрузите 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 или загруженная копия IMA DAI SDK для iOS.
Вам также потребуются параметры, используемые для запроса вашего потока из IMA SDK.
Параметры прямой трансляции | |
---|---|
Сетевой код | Сетевой код вашего аккаунта Менеджера рекламы 360. Пример: 51636543 |
Пользовательский ключ актива | Пользовательский ключ ресурса, который идентифицирует ваше событие обслуживания модулей в Менеджере рекламы 360. Его может создать ваш манипулятор манифеста или сторонний партнер по обслуживанию модулей. Пример: google-sample |
Параметры VOD-потока | |
Сетевой код | Сетевой код вашего аккаунта Менеджера рекламы 360. Пример: 51636543 |
Создайте новый проект Xcode.
В Xcode создайте новый проект iOS с помощью Objective-C с именем «PodServingExample».
Добавьте IMA DAI SDK в проект Xcode.
Используйте один из этих трех методов для установки IMA DAI SDK.
Установите SDK с помощью CocoaPods (предпочтительно)
CocoaPods — это менеджер зависимостей для проектов Xcode, который рекомендуется использовать для установки IMA DAI SDK. Дополнительную информацию об установке или использовании CocoaPods см. в документации CocoaPods . После установки CocoaPods используйте следующие инструкции для установки IMA DAI SDK:
В том же каталоге, что и файл PodServingExample.xcodeproj , создайте текстовый файл с именем Podfile и добавьте следующую конфигурацию:
Из каталога, содержащего подфайл, запустите:
pod install --repo-update
Установите SDK с помощью диспетчера пакетов Swift.
SDK Interactive Media Ads поддерживает Swift Package Manager , начиная с версии 3.18.4. Выполните следующие шаги, чтобы импортировать пакет Swift.
В Xcode установите пакет IMA DAI SDK Swift, выбрав «Файл» > «Добавить пакеты» .
В появившемся окне найдите репозиторий GitHub IMA DAI SDK Swift Package:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios
Выберите версию пакета IMA DAI SDK Swift, которую вы хотите использовать. Для новых проектов мы рекомендуем использовать Up to Next Major Version .
Когда вы закончите, Xcode разрешит зависимости вашего пакета и загрузит их в фоновом режиме. Более подробную информацию о том, как добавить зависимости пакета, можно найти в статье Apple .
Загрузите и установите SDK вручную.
Если вы не хотите использовать Swift Package Manager или CocoaPods, вы можете загрузить IMA DAI SDK и вручную добавить его в свой проект.
Создайте простой видеоплеер
Реализуйте видеоплеер в своем главном контроллере представления, используя AV-плеер, завернутый в представление пользовательского интерфейса. IMA SDK использует представление пользовательского интерфейса для отображения элементов пользовательского интерфейса рекламы.
Инициализируйте загрузчик рекламы
Импортируйте IMA SDK в свой контроллер представления и используйте протоколы IMAAdsLoaderDelegate
и IMAStreamManagerDelegate
для обработки событий загрузчика рекламы и менеджера потоков.
Добавьте эти частные свойства для хранения ключей компонентов IMA SDK:
-
IMAAdsLoader
— управляет потоковыми запросами на протяжении всего времени существования вашего приложения. -
IMAAdDisplayContainer
— управляет вставкой элементов пользовательского интерфейса рекламы и управлением ими. -
IMAAVPlayerVideoDisplay
— обеспечивает связь между IMA SDK и вашим медиаплеером и обрабатывает синхронизированные метаданные. -
IMAStreamManager
— управляет воспроизведением потока и запускает события, связанные с рекламой.
Инициализируйте загрузчик рекламы, контейнер отображения рекламы и отображение видео после загрузки представления.
Сделать запрос на трансляцию
Когда пользователь нажимает кнопку воспроизведения, сделайте запрос нового потока. Используйте класс IMAPodStreamRequest
для прямых трансляций. Для потоков VOD используйте класс IMAPodVODStreamRequest
.
Для запроса потока требуются параметры вашего потока, а также ссылка на контейнер показа рекламы и показ видео.
Прослушивание событий загрузки потока
Класс IMAAdsLoader
вызывает методы IMAAdsLoaderDelegate
при успешной инициализации или сбое запроса потока.
В методе adsLoadedWithData
установите свой IMAStreamManagerDelegate
. Передайте идентификатор потока своему пользовательскому обработчику VTP и получите URL-адрес манифеста потока. Для прямых трансляций загрузите URL-адрес манифеста на видеодисплей и начните воспроизведение. Для потоков VOD передайте URL-адрес манифеста в метод loadThirdPartyStream
диспетчера потоков. Этот метод запрашивает данные о рекламных событиях из Менеджера рекламы 360, затем загружает URL-адрес манифеста и запускает воспроизведение.
В методе failedWithErrorData
зарегистрируйте ошибку. При желании воспроизведите резервный поток. См . рекомендации по DAI .
Реализуйте свой собственный обработчик VTP
Пользовательский обработчик VTP отправляет идентификатор потока зрителя вашему техническому партнеру по видео (VTP) вместе с любой другой информацией, которая требуется вашему VTP для возврата манифеста потока, содержащего как контент, так и объединенную рекламу. Ваш VTP предоставит конкретные инструкции по реализации вашего собственного обработчика VTP.
For example, a VTP may include a manifest template URL containing the macro [[STREAMID]]
. In this example, the handler inserts the Stream ID in place of the macro and returns the resulting manifest URL.
Слушайте рекламные события
The IMAStreamManager
calls the IMAStreamManagerDelegate
methods to pass stream events and errors to your application.
For this example, log the primary ad events to the console:
Очистите активы IMA DAI
Чтобы остановить воспроизведение потока, остановить все объявления и выпустить все загруженные активы потока, позвоните IMAStreamManager.destroy()
.
Запустите свое приложение, и в случае успеха вы можете запросить и воспроизводить Google Dai Streams с помощью IMA SDK. Чтобы узнать о более продвинутых функциях SDK, см. другие руководства, перечисленные на левой боковой панели, или примеры на GitHub .