1

Admob 的测试广告或普通广告未在我的 Flutter 应用上展示。我的广告请求返回此错误:“广告加载失败:3”。我搜索了这个错误代码并找到了它:

The ad request was successful, but no ad was returned due to lack of ad inventory.
Constant Value: 3

但不仅我的广告,测试广告也没有显示。我使用 google_mobile_ads 包。这是我的代码:

main.dart 中的 main():

void main() {
   WidgetsFlutterBinding.ensureInitialized();
   MobileAds.instance.initialize();
   runApp(MyApp());
}

这个变量在我的主屏幕的状态类(它是一个有状态的小部件)

  BannerAd _ad;
  bool isLoaded = false;

屏幕的 initState 函数

void initState() {
    _ad = BannerAd(
        adUnitId: BannerAd.testAdUnitId,
        request: AdRequest(),
        size: AdSize.banner,
        listener: AdListener(
          onAdLoaded: (_) {
            print("loaded");
            setState(() {
              isLoaded = true;
            });
          },
          onAdFailedToLoad: (ad, error) {
            print("error: $error");
            ad.dispose();
          },
        ));
    _ad.load();
    super.initState();
  }

此条件位于主列的底部

if (isLoaded)
    Container(
    width: _ad.size.width.toDouble(),
    height: _ad.size.height.toDouble(),
    child: AdWidget(ad: _ad),
    ),

处置方法

  void dispose() {
    _ad?.dispose();
    super.dispose();
  }

以及 android/app/src/main/AndroidManifests.xml 文件的相关部分

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

1 回答 1

0

几天以来,我在我的应用程序中遇到了同样的问题。接缝是一个普遍的问题,包提供的示例项目也失败了。

问题已打开#217

于 2021-05-09T19:24:39.180 回答