SDK 操作模式
SDK 可以在一种或多种模式下运行,具体取决于它从广告收到的广告响应 服务器。
- 单个广告
- 在
start
消息发送至IMAAdsManager
。无需特殊初始化 才能播放单个广告。 - 广告连播
- 在
start
消息发送至IMAAdsManager
。无需进行特殊的初始化 播放单个广告连播。 - 广告规则
- 播放列表,其中包含安排在特定时间、特定时段
内容。在广告规则模式下,系统会忽略
start
消息。你可以 指在单个播放列表中安排多个广告插播时间点(例如,前贴片广告、 中贴片广告、后贴片广告)。有关实现详情,请参阅 广告规则部分。
广告规则
IMA iOS SDK 支持完全自动化的广告播放列表。此功能 按照 Google Ad Manager 。它还大大简化了视频播放器代码 (包括前贴片广告、中贴片广告和后贴片广告)。
- 在 Ad Manager 中投放广告时,可以指定各种广告规则 如“始终在内容开头处播放广告插播时间点”或“播放 1 分钟的广告插播时间点” 每 30 分钟的内容”。
- 请求广告时,广告服务器可返回广告播放列表。SDK 会处理播放列表,并自动安排 。
- 初始化
AdsManager
时,IMAContentPlayhead
对象通过initializeWithContentPlayhead:adsRenderingSettings:
传入 调用。如果您使用 AVPlayer 显示内容,请将IMAAVPlayerContentPlayhead
实例,当您创建adDisplayContainer
。此对象用于跟踪内容播放进度,以便广告 会在 Ad Manager 中指定的时间自动插入广告插播时间点。
使用 AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
如果没有 AVPlayer:
- 实现
IMAContentPlayhead
接口。 - 实现
currentTime
以返回 视频播放器。 - 将
IMAAdsManager
初始化调用更改为 请使用initializeWithContentPlayhead:self
。
- 实现
- IMAAdsManagerDelegate 用于在插播广告播放时暂停和恢复内容。
注意:当内容播放完毕或
用户已停止播放,请务必调用 contentComplete
IMAAdsLoader
上,以便向 SDK 表明内容
已播放完毕。然后,SDK 会播放后贴片广告插播时间点(如果已安排)。
ALL_ADS_COMPLETED
事件会在所有广告插入点
。另外请注意,内容跟踪会在
IMAAdsManager
的initializeWithContentPlayhead:adsRenderingSettings
方法被调用,并且您应始终调用 initializeWithContentPlayhead:adsRenderingSettings
然后再播放内容