缩短了 IMA 加载时间

IMA SDK 加载依赖项以请求广告、衡量可见度和报告广告展示次数。通过在发出广告请求之前初始化 IMA,您可以最大限度地延长在播放广告之前加载 IMA 依赖项的时间。本页介绍了如何在应用中处理 IMA 加载时间。

拨打 ImaSdkFactory.initialize()

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 事件来播放广告。