广告预加载

广告预加载是 GMA Next-Gen SDK 中的一项广告加载功能,可在后台加载广告并在展示前缓存广告。如需通过广告预加载功能提升效果,请停用自定义缓存,并将该职责委托给 GMA Next-Gen SDK。

GMA Next-Gen SDK 中的广告预加载功能可自动加载和缓存广告。

广告预加载具有以下优势:

  • 引用管理:在广告展示之前,保留对广告的引用。
  • 自动重新加载:从缓存中检索到广告后,加载新广告。
  • 代管式重试:在广告加载失败时加载新广告。
  • 过期处理:在广告过期前刷新广告。
  • 缓存优化:优化缓存顺序,以投放优先级最高的广告。

比较广告预加载和单次加载

在应用中,将广告预加载作为全屏广告的默认集成方式。

以下是广告预加载和单次加载广告请求的对比:

广告预加载

使用广告预加载功能可带来以下优势:

  • 自动化生命周期管理:将广告缓存、过期跟踪、失败请求重试和广告刷新委托给 GMA Next-Gen SDK,而无需编写或维护自定义生命周期代码。当您从缓存中获取预加载的广告进行展示时,GMA Next-Gen SDK 会自动加载替代广告。
  • 在过渡点准备好广告:提前预加载广告,以便在用户切换关卡或屏幕时展示广告。
  • 优化广告选择:让 GMA Next-Gen SDK 为每个预加载配置存储多个广告,并在您每次展示广告时从缓存中投放优先级最高的广告。

单次加载

仅在您需要直接控制单个广告请求时,才使用单次加载广告请求,例如:

  • 入站中介:如果您通过第三方中介平台(例如合作伙伴出价)对 GMA Next-Gen SDK 进行中介,请使用单次加载广告请求。如需了解详情,请参阅合作伙伴出价简介。 由于第三方中介 SDK 会管理广告瀑布流、缓存和刷新周期,因此 GMA Next-Gen SDK 预计每次适配器加载调用都会发出一个广告请求。
  • 自定义广告请求:如果您设置的自定义 AdRequest 参数在每次请求之前都会发生变化,请使用单次加载广告请求。更新 PreloadConfiguration 对象会重启预加载并清除缓存的广告。

比较广告生命周期行为

下表比较了广告预加载和单次加载如何处理广告生命周期行为:

行为 广告预加载 单次加载 API
商店广告 将加载的广告存储在内部缓存中,直到您调用 pollAd 方法。 您的应用必须将加载的广告对象引用存储在成员变量中,直到您展示该广告。
重新加载广告 当您从缓存中检索广告时,系统会自动加载替换广告。 在用户关闭广告或广告未能展示后,您的应用必须手动调用 load 方法。
失败的请求重试 使用指数退避算法自动重试失败的请求。 需要自定义重试逻辑来处理失败的请求。
到期和刷新 跟踪广告过期情况,并自动刷新缓存中过期的广告。 您的应用必须跟踪过期时间并手动请求广告。
缓存优化 每个预加载配置存储多个广告,并优先投放优先级最高的广告。 每次请求加载一个广告,没有内置队列或缓存排序。

广告预加载生命周期

广告预加载功能会通过以下生命周期步骤取代手动广告加载调用:

预加载缓存限制

缓冲区空间控制着预加载配置在内存中保留的预加载广告数量。默认情况下,Google 会优化缓冲区大小,以平衡内存消耗和广告投放延迟时间。

GMA Next-Gen SDK 会在应用范围内对所有广告单元和预加载 ID 的预加载广告总数施加限制:

  • 默认应用级限制:GMA Next-Gen SDK 在内存中最多可保留 6 个预加载广告,涵盖所有格式和预加载 ID。
  • 建议的缓冲区空间:我们建议为每个预加载 ID 保留大小为 2 的缓冲区空间。

后续步骤

GMA Next-Gen SDK 支持针对全屏广告格式进行广告预加载。横幅广告和原生广告格式不使用广告预加载。横幅广告会根据您的广告单元配置自动刷新,而原生广告则使用 NativeAdLoader 类。

为所选广告格式集成广告预加载功能,或优化启动延迟时间: