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, выбрав «Файл» > «Добавить пакеты» .
В появившемся окне найдите репозиторий 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 вручную.
Если вы не хотите использовать Swift Package Manager или CocoaPods, вы можете загрузить IMA DAI SDK и вручную добавить его в свой проект.
Показать инструкции
- Со страницы загрузки iOS IMA загрузите и извлеките последнюю версию IMA DAI SDK.
- Откройте BasicExample.xcodeproj .
- На левой панели щелкните имя проекта.
- На центральной панели нажмите «Фазы сборки» .
- Разверните раздел «Связать двоичный файл с библиотеками» .
- Внизу списка библиотек щелкните значок плюса [+] .
- Нажмите «Добавить другое» .
- В каталоге, куда вы извлекли загруженный SDK, выберите GoogleInteractiveMediaAds.framework и нажмите « Открыть» .
- Внизу списка библиотек еще раз щелкните значок плюса [+] .
- Убедитесь, что в столбце «Статус» для параметра
GoogleInteractiveMediaAds.framework
установлено значениеRequired
. - Включите флаг компоновщика
-ObjC
в настройки сборки. Для получения дополнительной информации см. Apple QA1490 .
Создайте простой видеоплеер
Реализуйте видеоплеер в своем главном контроллере представления, используя 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.
Например, VTP может включать URL-адрес шаблона манифеста, содержащий макрос [[STREAMID]]
. В этом примере обработчик вставляет идентификатор потока вместо макроса и возвращает результирующий URL-адрес манифеста.
Слушайте рекламные события
IMAStreamManager
вызывает методы IMAStreamManagerDelegate
для передачи событий и ошибок потока в ваше приложение.
В этом примере запишите основные рекламные события в консоль:
Очистите активы IMA DAI
Чтобы остановить воспроизведение потока, остановить отслеживание всей рекламы и освободить все загруженные ресурсы потока, вызовите IMAStreamManager.destroy()
.
Запустите приложение, и в случае успеха вы сможете запрашивать и воспроизводить потоки Google DAI с помощью IMA SDK. Чтобы узнать о более продвинутых функциях SDK, см. другие руководства, перечисленные на левой боковой панели, или примеры на GitHub .