В этом руководстве объясняется, как действовать в зависимости от состояния буферизации рекламы.
Использование событий буфера в вашем приложении
Вы можете использовать следующие методы делегата в 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
.