Отслеживание событий буферизации объявлений

Interactive Media Ads (IMA) SDK для iOS.

В этом руководстве рассказывается, как действовать в зависимости от состояния буферизации объявлений.

Как использовать события буфера в приложении

Вы можете использовать следующие методы делегирования в IMAAdsManagerDelegate, чтобы добавить индикатор активности в приложение, когда показ объявлений приостанавливается для буферизации:

  • - (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager: вызывается, когда объявление, которое уже начало воспроизводиться, приостанавливается для буферизации.
  • - (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime: Вызывается при буферизации объявления. Этот метод вызывается многократно, пока объявление буферизируется.
  • - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager – вызывается, когда текущее объявление достаточно буферизовано, чтобы его воспроизведение не опережало буфер.

Пример

Все дополнения основаны на расширенном примере IMA SDK (для iOS и tvOS):

    @interface VideoViewController () <IMAAdsManagerDelegate,...>

    ...

    @end

    @implementation VideoViewController

    ...

    - (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager {
      // Show your activity indicator above the video player - ad playback has
      // stopped to buffer.
    }

    - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager {
      // Hide your activity indicator - as playback resumes.
    }

Часто задаваемые вопросы

Можно ли показывать индикатор загрузки перед началом воспроизведения объявления?

Да, но в этом случае мы рекомендуем использовать другие методы делегирования. Вы можете показывать индикатор активности, когда вызываете [adsManager start], и скрывать его, когда ловите kIMAAdEvent_STARTED в - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event.