IMA SDK 会加载依赖项,以请求广告、衡量可见度和报告广告展示次数。在发出广告请求之前初始化 IMA,可最大限度地延长在广告播放之前加载 IMA 依赖项的时间。本页介绍了如何在应用中处理 IMA 加载时间。
调用 ImaSdkFactory.initialize()
The
ImaSdkFactory.initialize()
方法会在发出第一个广告请求之前开始预加载 SDK 资源。如需使用 initialize(),您需要 IMA 3.35.1 版或更高版本。
在应用启动时调用 ImaSdkFactory.initialize(),或者在应用生命周期的早期(应用结构允许的情况下)调用。initialize() 调用采用以下参数:
context:使用应用上下文,该上下文在应用的生命周期内始终可用。settings:传递一个ImaSdkSettings对象,并设置其值。initialize()调用中使用的 IMA 设置必须与createAdsLoader()调用中使用的设置值相同。IMA SDK 会利用这些设置(尤其是语言设置)作为缓存键。我们不建议为initialize()方法调用中使用的设置使用测试值或虚假值,因为这可能会导致缓存未命中,并增加广告加载时间。
重复使用 AdsLoader 实例
为了缩短 IMA 加载时间,我们建议您重复使用同一个
AdsLoader
实例。AdsLoader 接口可以处理多个广告或流请求。避免为每个请求创建新的 AdsLoader 实例。创建新的 AdsLoader 实例需要加载时间,并会使用额外的设备资源。
在播放前请求广告
如果您在开始播放广告之前有权访问 AdsLoader 实例,
也可以提前调用
AdsLoader.requestAds()
方法。进行此调用会开始加载片前广告。当用户
准备好开始播放内容时,请调用
AdsManager.init()
方法,并等待 LOADED 事件播放广告。