Буферизация событий

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

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

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

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

Пример

Все дополнения основаны на расширенном образце IMA SDK (как для iOS, так и для tvOS):

    @interface VideoViewController () 

    ...

    @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 .