В этом руководстве рассказывается, как интегрировать IMA DAI SDK в приложение с видеопроигрывателем. Если вы хотите посмотреть пример интеграции, скачайте BasicExample с GitHub.
Обзор IMA DAI
Внедрение IMA DAI включает четыре основных компонента SDK, как показано в этом руководстве:
IMAAdDisplayContainer– объект-контейнер, который находится поверх элемента воспроизведения видео и содержит элементы интерфейса объявления.IMAAdsLoader– объект, который запрашивает потоки и обрабатывает события, инициированные объектами ответов на запросы потоков. Вам нужно создать только один экземпляр загрузчика объявлений, который можно использовать повторно в течение всего жизненного цикла приложения.IMAStreamRequest–IMAVODStreamRequestилиIMALiveStreamRequest. Объект, определяющий запрос потока. Запросы потоков могут относиться к видео по запросу или прямым трансляциям. В запросах трансляций указывается ключ объекта, а в запросах видео по запросу – идентификатор CMS и идентификатор видео. В запросы обоих типов можно добавить ключ API, необходимый для доступа к определенным потокам, и код сети Google Менеджера рекламы, который позволит IMA SDK обрабатывать рекламные идентификаторы в соответствии с настройками Менеджера рекламы.IMAStreamManager– объект, который управляет потоками динамической вставки объявлений и взаимодействием с серверной частью динамической вставки объявлений. Менеджер потоков также обрабатывает запросы на отслеживание и пересылает издателю события потока и объявлений.
Требования
Прежде чем начать, вам понадобится следующее:
- Xcode 13 или более поздней версии;
- Способ установки IMA SDK:
- Swift Package Manager (рекомендуется)
- Скачайте IMA SDK для iOS.
Кроме того, параметры необходимы для запроса трансляции из IMA SDK. Примеры параметров запроса можно найти в разделе Примеры потоков.
| Параметры трансляции | |
|---|---|
| Ключ объекта |
Ключ объекта, идентифицирующий вашу трансляцию в Google Менеджере рекламы. Пример: c-rArva4ShKVIAkNfy6HUQ
|
| Параметры трансляции видео по запросу | |
| Идентификатор источника контента |
Идентификатор источника контента из Google Менеджера рекламы. Пример: 2548831
|
| Идентификатор видео |
Идентификатор видео из Google Менеджера рекламы. Пример: tears-of-steel
|
| Общие параметры (для видео по запросу и прямых трансляций) | |
| Код сети |
Ваш код сети Google Менеджера рекламы. Пример: 21775744923
|
Создайте проект Xcode
В Xcode создайте новый проект iOS на Objective-C с названием BasicExample.
Добавьте IMA DAI SDK в проект Xcode
Выберите способ установки IMA SDK.
Рекомендуемый способ: установка SDK с помощью Swift Package Manager
Interactive Media Ads SDK поддерживает Swift Package Manager начиная с версии 3.18.4. Чтобы импортировать пакет 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, которую вы хотите использовать. Для новых проектов используйте Up to Next Major Version (До следующей основной версии).
После этого 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
Как отправить запрос на создание потока
Когда пользователь нажимает кнопку воспроизведения, отправьте новый запрос на трансляцию.
Для прямых трансляций используйте класс IMALiveStreamRequest. Для видео по запросу используйте класс IMAVODStreamRequest.
В запросе трансляции должны быть указаны параметры трансляции, а также ссылка на контейнер объявлений и видеопроигрыватель.
Objective-C
Swift
Как отслеживать события загрузки потока
Класс IMAAdsLoader вызывает методы IMAAdsLoaderDelegate при успешной инициализации или сбое запроса потока.
В методе делегата adsLoadedWithData задайте IMAStreamManagerDelegate.
Инициализируйте менеджер потоков. При инициализации менеджер потоков начинает воспроизведение.
В методе делегата failedWithErrorData зарегистрируйте ошибку. При необходимости запустите резервный поток. Ознакомьтесь с рекомендациями по динамической вставке объявлений.
Objective-C
Swift
Как отслеживать события объявлений
IMAStreamManager вызывает методы IMAStreamManagerDelegate, чтобы передавать события и ошибки потока в приложение.
В этом примере в консоль записываются основные события объявлений:
Objective-C
Swift
Запустите приложение. Если все в порядке, запросите и воспроизведите потоки Google с динамической вставкой объявлений, используя IMA SDK. Чтобы узнать больше о расширенных функциях SDK, ознакомьтесь с другими руководствами, перечисленными на боковой панели слева, или примерами на GitHub.