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

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

Использование буферных событий в вашем приложении

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

  • - (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager : вызывается, когда уже начатое воспроизведение рекламы остановлено для буферизации.
  • - (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime : Вызывается как ad buffers. Этот метод вызывается повторно, пока ad buffering.
  • - (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 .