缩短了 IMA 加载时间

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

拨打 ImaSdkFactory.initialize()

ImaSdkFactory.initialize() 方法会在发出首项广告请求之前开始预加载 SDK 资源。如需使用 initialize(),您需要 IMA 3.35.1 或更高版本。

在应用启动时调用 ImaSdkFactory.initialize(),或者在应用生命周期中尽早调用 ImaSdkFactory.initialize()(前提是应用结构允许)。initialize() 调用采用以下参数:

  • context:使用应用上下文,该上下文在应用生命周期内始终可用。
  • settings:传递已设置值的 ImaSdkSettings 对象。initialize() 调用中使用的 IMA 设置必须与 createAdsLoader() 调用中使用的设置值相同。IMA SDK 会将这些设置(尤其是语言设置)用作缓存键。我们不建议为 initialize() 方法调用中使用的设置使用测试值或虚假值,因为可能会发生缓存未命中并增加广告加载时间。

重复使用 AdsLoader 实例

为了缩短 IMA 加载时间,我们建议您重复使用相同的 AdsLoader 实例。AdsLoader 接口可以处理多个广告或串流请求。避免为每个请求创建新的 AdsLoader 实例。创建新的 AdsLoader 实例需要加载时间,并且会使用额外的设备资源。

在播放前请求广告

如果您在开始播放广告之前有权访问 AdsLoader 实例,还可以提前调用 AdsLoader.requestAds() 方法。进行此调用会开始加载前贴片广告。当用户准备好开始播放内容时,调用 AdsManager.init() 方法并等待 LOADED 事件以播放广告。