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