IMA SDK 支持预加载视频广告素材资源。 您可以在 SDK 集成中启用此功能,在广告与内容之间实现更顺畅的过渡。本指南将详细介绍使用 IMA SDK 实现媒体预加载的相关技术细节。
启用预加载
如需启用预加载,请将AdsRenderingSettings.enablePreloading
设置为 true。必须通过 ADS_MANAGER_LOADED
事件完成此操作:
function onAdsManagerLoaded(adsManagerLoadedEvent) {
var adsRenderingSettings = new google.ima.AdsRenderingSettings();
adsRenderingSettings.enablePreloading = true;
...
var adsManager = adsManagerLoadedEvent.getAdsManager(
videoContent, adsRenderingSettings);
}
计时
下表总结了启用预加载时广告加载时间的变化:
事件 | 带预加载 | 无预加载 |
---|---|---|
请求的广告 VAST | AdsLoader.requestAds()
| AdsLoader.requestAds()
|
已加载前贴片广告(单个广告) | AdsManager.init()
| AdsManager.start()
|
已加载前贴片广告(VMAP/广告规则) | AdsManager.init()
| AdsManager.init()
|
中贴片广告或后贴片广告已加载 | 对于广告插播中的第一个广告,在广告开始时间前 4 秒。 对于连续的广告,在上一个广告开始播放时返回。 | 广告开始时间。 |
限制
预加载受到以下限制:
- 在 iOS 设备上访问移动网站时,或在联网电视上使用 HTML5 IMA SDK 时,无法使用媒体预加载功能。
- 已预加载 VPAID,但在广告执行之前,系统不会加载该广告的所有依赖项(包括该广告播放的媒体)。
- 必须启用自动播放,预加载才能正常运行。确保将
settings.isAutoPlayAdBreaks()
设置为默认值true
。
FAQ
- 媒体预加载功能是否会加载完整的广告素材?
- 不会。广告开始播放时,广告素材通常未完全加载。 预加载旨在最大限度地缩短广告加载所需的时间,从而改善用户体验。并非用于支持离线广告投放。 IMA SDK 会在浏览器允许范围内加载尽可能多的媒体,但会受到用户的互联网连接和广告素材尺寸的限制。
- 是否需要为广告的 VAST 和媒体启用媒体预加载?
- 不会,无论此预加载设置如何,SDK 始终都会预加载广告的 VAST。