You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Dart如何每点击指定次数按钮后展示Interstitial插屏广告

实现方案

步骤1:新增状态变量

首先在你的State类中新增两个变量,分别用来统计点击次数、存储插屏广告实例:

// 已有的广告实例
InterstitialAd? _interstitialAd;
// 点击计数器
int _clickCount = 0;

步骤2:初始化时预加载广告

在initState生命周期中调用广告加载方法,保证首次达到触发条件时广告已就绪:

@override
void initState() {
  super.initState();
  _createInterstitialAd();
}

步骤3:修改按钮点击逻辑

给你的名言展示按钮绑定如下点击事件,每次点击累加计数器,达到10次的倍数时触发广告展示:

void _onQuoteButtonClick() {
  // 原有逻辑:随机展示名言
  _showRandomQuote();
  
  // 广告触发逻辑
  _clickCount++;
  // 每10次点击且广告已加载完成时展示广告
  if (_clickCount % 10 == 0 && _interstitialAd != null) {
    showInterstitial();
  }
}

步骤4:调整广告回调逻辑,实现循环加载

修改原有广告相关方法,保证每次广告展示结束/加载失败后都重新加载下一次广告,避免后续触发时无广告可用:

void _createInterstitialAd() {
  InterstitialAd.load(
    adUnitId: 'ca-app-pub-3940256099942544/1033173712',
    request: const AdRequest(),
    adLoadCallback: InterstitialAdLoadCallback(
      onAdFailedToLoad: (LoadAdError error) {
        print('广告加载失败: $error');
        // 加载失败时重置广告实例,避免空调用
        _interstitialAd = null;
      },
      onAdLoaded: (InterstitialAd ad) {
        setState(() {
          _interstitialAd = ad;
        });
      },
    ),
  );
}

void showInterstitial() {
  _interstitialAd?.fullScreenContentCallback = FullScreenContentCallback(
    onAdShowedFullScreenContent: (InterstitialAd ad) => print('广告已展示'),
    onAdDismissedFullScreenContent: (InterstitialAd ad) {
      ad.dispose();
      // 广告关闭后重置实例,重新加载下一次广告
      _interstitialAd = null;
      _createInterstitialAd();
    },
    onAdFailedToShowFullScreenContent: (InterstitialAd ad, AdError error) {
      Navigator.of(context).pop();
      ad.dispose();
      // 展示失败也重新加载广告
      _interstitialAd = null;
      _createInterstitialAd();
    },
    onAdImpression: (InterstitialAd ad) => print('广告有效曝光'),
  );
  _interstitialAd?.show();
}

注意事项

  • 如果达到10次点击时广告还未加载完成,本次不会触发广告展示,不会影响正常的名言展示功能,等到下一次10次节点时会再次尝试
  • 测试阶段可以把10改为更小的数字(比如2)验证触发逻辑是否正常
  • 上线前记得把测试广告ID替换为你的正式广告ID

内容的提问来源于stack exchange,提问作者Hossain Abeer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:54:03