Режимы работы SDK
SDK может работать в одном или нескольких режимах в зависимости от ответа на объявление, полученного от сервера объявлений.
- Одно объявление
- Объявление, которое может быть воспроизведено в любой момент, когда сообщение
startотправляется вIMAAdsManager. Для воспроизведения одного объявления не требуется специальная инициализация. - Пакет объявлений
- Несколько объявлений, которые воспроизводятся одно за другим, когда
startотправляет сообщениеIMAAdsManager. Для воспроизведения одного пакета объявлений не требуется специальная инициализация. - Правила для объявлений
- Список рекламных пауз, запланированных на определенное время для определенного контента. В режиме правил для объявлений сообщение
startигнорируется. В одном плейлисте может быть несколько рекламных пауз (например, в начале, середине и конце видео). Подробную информацию о реализации вы найдете в разделе Правила для объявлений ниже.
Правила для объявлений
IMA tvOS SDK поддерживает полностью автоматизированные списки воспроизведения рекламы. Эта функция позволяет вставлять рекламные паузы в контент в соответствии с настройками, заданными в Google Менеджере рекламы при размещении объявлений. Кроме того, он значительно упрощает код видеопроигрывателя, необходимый для поддержки рекламных пауз, в том числе видеорекламы в начале ролика, рекламы в середине видео и видеорекламы в конце ролика.
- При размещении рекламы в Менеджере рекламы можно задать различные правила для объявлений, например "всегда показывать рекламную паузу в начале контента" или "показывать минутную рекламную паузу каждые 30 минут контента".
- Когда запрашиваются объявления, сервер объявлений может вернуть список воспроизведения объявлений. SDK обрабатывает список воспроизведения и автоматически планирует рекламные паузы, которые были указаны.
- При инициализации
AdsManagerобъектIMAContentPlayheadпередается через вызовinitializeWithContentPlayhead:adsRenderingSettings:. Если вы используете AVPlayer для показа контента, то при созданииadDisplayContainerпередайте экземплярIMAAVPlayerContentPlayheadв SDK. Этот объект используется для отслеживания хода воспроизведения контента, чтобы рекламные паузы автоматически вставлялись в моменты времени, указанные в Менеджере рекламы.
С помощью 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 активируется, когда все рекламные паузы будут показаны. Кроме того, отслеживание контента начинается при вызове метода initializeWithContentPlayhead:adsRenderingSettings объекта IMAAdsManager. Всегда вызывайте метод initializeWithContentPlayhead:adsRenderingSettings перед воспроизведением контента.