菜单

查询广告状态信息

💡Tips

  • 通过广告状态查询接口,可在展示广告前判断广告是否已加载完成、是否正在加载中,以及查看当前已缓存的广告列表。
  • 支持查询插屏广告、激励视频广告和开屏广告的状态。
  • 建议在展示广告前调用对应的状态查询方法,以优化广告展示时机和用户体验。

1. 概述

HyperBid Flutter SDK 提供了广告状态查询接口,返回 McAdStatusInfo 对象,包含以下信息:

字段 类型 说明
isLoading bool 广告是否正在加载中
isReady bool 广告是否已加载完成并可展示
adList List<McAd> 当前已缓存的广告信息列表

2. 查询插屏广告状态

dart 复制代码
McAdStatusInfo statusInfo = await McSdk.checkInterstitialAdStatus("your mediation unit id");

print("是否正在加载: ${statusInfo.isLoading}");
print("是否有可展示的广告: ${statusInfo.isReady}");
print("已缓存广告数量: ${statusInfo.adList.length}");

3. 查询激励视频广告状态

dart 复制代码
McAdStatusInfo statusInfo = await McSdk.checkRewardedAdStatus("your mediation unit id");

print("是否正在加载: ${statusInfo.isLoading}");
print("是否有可展示的广告: ${statusInfo.isReady}");
print("已缓存广告数量: ${statusInfo.adList.length}");

4. 查询开屏广告状态

dart 复制代码
McAdStatusInfo statusInfo = await McSdk.checkAppOpenAdStatus("your mediation unit id");

print("是否正在加载: ${statusInfo.isLoading}");
print("是否有可展示的广告: ${statusInfo.isReady}");
print("已缓存广告数量: ${statusInfo.adList.length}");

5. 遍历已缓存广告列表

通过 adList 字段,可以查看当前已缓存的每条广告的详细信息:

dart 复制代码
// 激励视频为例
McAdStatusInfo statusInfo = await McSdk.checkRewardedAdStatus("your mediation unit id");

for (McAd ad in statusInfo.adList) {
  print("聚合单元 ID: ${ad.adUnitId}");
  print("广告平台: ${ad.networkName}");
  print("聚合平台广告位: ${ad.mediationPlacementId}");
  print("预估收益: ${ad.revenue} ${ad.currency}");
  print("---");
}

📌 adList 中的广告按照缓存顺序排列,已缓存的广告信息可用于数据分析和日志记录。

⚠️ 注意:状态查询为异步操作,请使用 await 等待结果返回后再进行后续逻辑处理。


上一个
三方收益回传
下一个
预置策略
最近修改: 2026-06-25Powered by