本指南介绍了如何根据广告缓冲状态采取相应措施。
在应用中使用缓冲区事件
您可以在 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]
时显示 activity 指示器。
并在捕获 kIMAAdEvent_STARTED
时隐藏活动指示器
- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event
。