Режимы работы SDK
SDK может работать в одном или нескольких режимах в зависимости от ответа на объявление, полученного от сервера объявлений.
- Одно объявление
- Объявление, которое можно воспроизвести в любой момент, когда
startсообщение отправляется наIMAAdsManager. Для воспроизведения одного объявления не требуется специальная инициализация. - Пакет объявлений
- Несколько объявлений, которые воспроизводятся одно за другим, когда
startотправляет сообщениеIMAAdsManager. Для воспроизведения одного пакета объявлений не требуется специальная инициализация. - Правила для объявлений
- Плейлист рекламных пауз, запланированных на определенное время в определенном контенте. В режиме правил для объявлений сообщение
startигнорируется. В одном плейлисте может быть несколько рекламных пауз (например, в начале, середине и конце видео). Подробную информацию о реализации вы найдете в разделе Правила для объявлений ниже.
Правила для объявлений
IMA iOS SDK поддерживает полностью автоматизированные списки воспроизведения объявлений. Эта функция позволяет вставлять рекламные паузы в контент в соответствии с настройками, заданными в Google Менеджере рекламы при размещении объявлений. Кроме того, он значительно упрощает код видеопроигрывателя, необходимый для поддержки рекламных пауз, в том числе видеорекламы в начале ролика, рекламы в середине видео и видеорекламы в конце ролика.
- При размещении объявлений в Менеджере рекламы можно задавать различные правила для объявлений, например "всегда показывать рекламную паузу в начале контента" или "показывать одноминутную рекламную паузу каждые 30 минут контента".
- При запросе объявлений сервер объявлений может вернуть плейлист объявлений. SDK обрабатывает плейлист и автоматически планирует указанные рекламные паузы.
- При инициализации объекта
AdsManagerобъектIMAContentPlayheadпередается через вызовinitializeWithContentPlayhead:adsRenderingSettings:. Если вы используете AVPlayer для показа контента, передайте в SDK экземплярIMAAVPlayerContentPlayheadпри созданииadDisplayContainer. Этот объект используется для отслеживания хода воспроизведения контента, чтобы рекламные паузы автоматически вставлялись в моменты времени, указанные в Менеджере рекламы.
С AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
Без AVPlayer:
- Реализуйте интерфейс
IMAContentPlayhead. - Реализуйте метод
currentTime, чтобы получать текущее время видеопроигрывателя. - Измените вызов инициализации
IMAAdsManager, чтобы использоватьinitializeWithContentPlayhead:self.
- Реализуйте интерфейс
- IMAAdsManagerDelegate используется для приостановки и возобновления воспроизведения контента во время рекламных пауз.
Примечание. Когда воспроизведение контента завершится или пользователь остановит его, вызовите contentComplete для IMAAdsLoader, чтобы сообщить SDK, что воспроизведение контента завершено. Затем SDK воспроизводит рекламную паузу в конце видео, если она запланирована.
Событие ALL_ADS_COMPLETED активируется, когда все рекламные паузы будут показаны. Кроме того, отслеживание контента начинается, когда вызывается метод IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings, поэтому всегда вызывайте initializeWithContentPlayhead:adsRenderingSettings перед воспроизведением контента.