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

Flutter集成Google AdMob遇No Ad Config错误(错误码3)求助

解决Flutter集成AdMob时出现Ad failed to load : 3(No ad config)错误

可能的原因及解决步骤

1. 等待AdMob初始化完成后再加载广告

你当前代码中调用MobileAds.instance.initialize()后立即加载广告,但该方法是异步操作,未完成初始化就请求广告会导致配置读取失败。

修改main.dart,等待初始化完成:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 等待AdMob初始化完成
  await MobileAds.instance.initialize();
  runApp(const MyApp());
}

或者在IklanScreen的initState中监听初始化状态:

@override
void initState(){
  super.initState();
  // 初始化完成后再加载广告
  MobileAds.instance.initialize().then((status) {
    loadAd();
  });
}

2. 添加必要的网络权限

检查AndroidManifest.xml是否添加了网络相关权限,AdMob需要网络请求广告资源:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

3. 明确注册测试设备

即使使用官方测试ID,也建议明确添加测试设备ID,避免被AdMob限制。修改loadAd方法中的AdRequest:

request: AdRequest(
  testDevices: [
    // 替换成你的测试设备ID,可从日志中搜索"Use RequestConfiguration.Builder().setTestDeviceIds"获取
    "YOUR_TEST_DEVICE_ID",
  ],
),

4. 检查依赖版本

确保pubspec.yaml中的google_mobile_ads为最新稳定版,避免版本兼容问题:

dependencies:
  google_mobile_ads: ^latest_version

执行flutter pub get更新依赖。

5. 验证AndroidManifest配置

确认APP_ID配置在<application>标签内部,无拼写错误:

<application ...>
  <meta-data
      android:name="com.google.android.gms.ads.APPLICATION_ID"
      android:value="ca-app-pub-3940256099942544~3347511713"/>
  <!-- 其他配置 -->
</application>

6. 清理项目缓存

缓存可能导致配置不生效,执行以下操作:

  • 清理Flutter缓存:flutter clean
  • 清理Android构建缓存:Android Studio中点击Build > Clean Project
  • 重新构建项目:flutter run

代码修改示例(IklanScreen.dart)

修改后的initState和loadAd方法:

@override
void initState(){
  super.initState();
  MobileAds.instance.initialize().then((_) {
    loadAd();
  });
}

void loadAd() {
  _bannerAd = BannerAd(
    adUnitId: adUnitId,
    request: AdRequest(
      testDevices: ["YOUR_TEST_DEVICE_ID"],
    ),
    size: AdSize.banner,
    listener: BannerAdListener(
      onAdLoaded: (ad) {
        debugPrint('$ad loaded.');
        setState(() {
          _isloaded = true;
        });
      },
      onAdFailedToLoad: (ad, err) {
        debugPrint('BannerAd failed to load: $err');
        ad.dispose();
      },
    ),
  )..load();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:55:01