Правила рекламы

Режимы работы SDK

SDK может работать в одном или нескольких режимах в зависимости от ответа на рекламу, который он получает от рекламного сервера.

Одиночное объявление
Объявление, которое можно воспроизвести в любой момент после отправки start сообщения в IMAAdsManager . Для воспроизведения одного объявления не требуется никакой специальной инициализации.
Рекламный блок
Несколько объявлений, которые воспроизводятся последовательно, когда start сообщение отправляется в IMAAdsManager . Для воспроизведения одного рекламного модуля не требуется никакой специальной инициализации.
Правила рекламы
Плейлист с рекламными паузами, запланированными в определенное время для определенного контента. start сообщение игнорируется в режиме правил объявлений. В одном плейлисте может быть запланировано несколько рекламных пауз (например, в начале, в середине и после ролика). Дополнительные сведения о реализации см. в разделе «Правила для объявлений» ниже.

Правила рекламы

IMA iOS SDK поддерживает полностью автоматизированные плейлисты с рекламой. Эта функция вставляет рекламные паузы в контент, как указано в Google Ad Manager при размещении ваших объявлений. Это также значительно упрощает код видеоплеера, необходимый для поддержки рекламных пауз, включая предварительные, средние и последующие ролики.

  • При размещении объявлений в Менеджере рекламы можно указать различные правила для рекламы, например «всегда воспроизводить рекламную паузу в начале контента» или «играть одноминутную рекламную паузу каждые 30 минут контента».
  • При запросе рекламы рекламный сервер может вернуть список воспроизведения рекламы. SDK обрабатывает список воспроизведения и автоматически планирует указанные рекламные паузы.
  • При инициализации AdsManager объект IMAContentPlayhead передается через вызов initializeWithContentPlayhead:adsRenderingSettings: :. Если вы используете AVPlayer для отображения своего контента, вы передаете экземпляр IMAAVPlayerContentPlayhead в SDK при создании adDisplayContainer . Этот объект используется для отслеживания хода воспроизведения контента, поэтому рекламные паузы автоматически вставляются в время, указанное в Менеджере рекламы.

    С AVPlayer:

    IMAContentPlayhead *contentPlayhead =
        [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer];
    IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl
                                                  adDisplayContainer:adDisplayContainer
                                                     contentPlayhead:contentPlayhead
                                                         userContext:nil];

    Без AVPlayer:

    1. Реализуйте интерфейс IMAContentPlayhead .
    2. Реализуйте currentTime , чтобы вернуть текущее время вашего видеоплеера.
    3. Измените вызов инициализации IMAAdsManager , чтобы использовать initializeWithContentPlayhead:self .
  • IMAAdsManagerDelegate используется для приостановки и возобновления контента во время воспроизведения рекламных пауз.

Примечание. Когда воспроизведение контента завершено или пользователь остановил воспроизведение, обязательно вызовите contentComplete в IMAAdsLoader , чтобы сообщить SDK о завершении воспроизведения контента. Затем SDK воспроизводит рекламную паузу после ролика, если она запланирована. Событие ALL_ADS_COMPLETED возникает после воспроизведения всех рекламных пауз. Кроме того, обратите внимание, что отслеживание контента начинается, когда вызывается метод initializeWithContentPlayhead:adsRenderingSettings IMAAdsManager , и вам всегда следует вызывать initializeWithContentPlayhead:adsRenderingSettings перед воспроизведением контента.