菜单

开屏广告

💡Tips

  • Smart Cache 自动管理多广告位并行加载、缓存与比价展示,无需传入聚合单元 ID(adUnitId)。
  • 广告关闭后 SDK 自动补量,开发者无需手动触发二次加载。
  • 智能缓存拥有独立的回调通道(McSmartCacheAppOpenListener),与标准开屏广告回调互不影响。
  • 开屏广告支持 timeout 参数控制加载超时,以及 onDidAdLoadTimeout 超时回调。
  • 如需自行手动控制加载、缓存,请参考这里

1. 设置回调监听

在加载广告前,先注册智能缓存开屏广告的独立回调:

dart 复制代码
McSdk.setSmartCacheAppOpenListener(McSmartCacheAppOpenListener(
  onDidLoadAd: (McAd ad) {
    // 至少一个广告就绪,可以展示
  },
  onDidFailToLoadAd: (McError error) {
    // 所有广告位均加载失败
  },
  onDidDisplayAd: (McAd ad) {
    // 广告展示成功
  },
  onDidHideAd: (McAd ad) {
    // 广告关闭,SDK 自动补量
  },
  onDidClickAd: (McAd ad) {
    // 广告被点击
  },
  onDidFailToDisplayAd: (McAd ad, McError error) {
    // 广告展示失败
  },
  onDidAdLoadFinished: () {
    // 本轮加载结束(无论成功失败)
  },
  onDidPayRevenueForAd: (McAd ad) {
    // 收益回调
  },
  onDidAdLoadTimeout: () {
    // 加载超时回调
  },
));

2. 加载广告

调用以下方法触发智能缓存开屏广告加载,SDK 将自动管理多广告位并行请求与缓存:

dart 复制代码
McSdk.smartLoadAppOpenAd();

// 设置自定义超时时间(单位:毫秒)(示例:5 秒)
McSdk.smartLoadAppOpenAd(timeout: 5000);
参数 类型 默认值 说明
timeout int -1 加载超时时间(毫秒),-1 表示不设置

3. 判断广告是否就绪

展示前可通过以下方法判断是否有缓存广告可展示:

dart 复制代码
bool? isReady = await McSdk.smartIsAppOpenAdReady();
if (isReady == true) {
  // 广告就绪,可以展示
}

4. 展示广告

当广告就绪后,调用以下方法展示开屏广告:

dart 复制代码
McSdk.smartShowAppOpenAd();

5. 设置自定义参数

可通过以下方法设置额外参数,用于精细化控制广告行为:

dart 复制代码
// 设置额外参数,只用于 Max
McSdk.smartSetAppOpenAdExtraParameter("key", "value");

// 设置额外参数
McSdk.smartSetAppOpenAdLocalExtraParameter("key", value);
上一个
插屏广告
下一个
激励视频广告
最近修改: 2026-06-25Powered by