“无广告配置。” onAdFailedToLoad() 方法尝试加载广告时

Ayu*_*ush 12 ads interstitial admob android-studio

我正在尝试为我的应用加载插页式广告。每当我尝试加载这些广告时,都会收到来自域“com.google.android.gms.ads”的“无广告配置”错误消息。

这是代码:

我的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ayush.torch">


    <application

        android:allowBackup="true"
        android:icon="@drawable/ic_ico"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="i_have_put_my_app_id_here"/>
     
    </application>

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

</manifest>
Run Code Online (Sandbox Code Playgroud)

main.java 中的onCreate()

        
        // Creating the InterstitialAd and setting the adUnitId.
        interstitialAd = new InterstitialAd(this);
        interstitialAd.setAdUnitId("i have also put my interstitial ad id here");


       interstitialAd.setAdListener(new AdListener() {
           @Override
           public void onAdLoaded() {
               Toast.makeText(main.this, "Ad Loaded", Toast.LENGTH_SHORT).show();
           }

           @Override
           public void onAdFailedToLoad(LoadAdError loadAdError) {
               String error = String.format("domain: %s, code: %d, message: %s", loadAdError.getDomain(), loadAdError.getCode(), loadAdError.getMessage());
               Toast.makeText(main.this, "onAdFailedToLoad() with error: " + error, Toast.LENGTH_SHORT).show();
           }
       });
Run Code Online (Sandbox Code Playgroud)

当我在on函数中加载我的广告时,它给我错误“无广告配置”。

                    Log.d("[Ads]","Ad Load State For on(): " + interstitialAd.isLoaded());
                    if (interstitialAd.isLoaded()) 
                    {
                        interstitialAd.show();
                    }
Run Code Online (Sandbox Code Playgroud)

Ayu*_*ush 16

固定它,它的工作原理。

从谷歌找到了一个资源。它消除了我所有的疑虑。对于测试广告资源点击我

广告以两种方式工作。

  1. 应用程序正在开发中。
  2. 当应用程序在生产中时。

场景 1:当应用程序处于开发阶段时

对于这种情况,我们需要使用测试广告。由于错误印象,Admob 和“com.google.android.gms.ads”不允许用户在开发阶段使用广告。

启用测试广告。有两种方法:您可以使用链接 adove 上提供的谷歌广告单元 ID。或者您可以使用您自己的广告单元 ID,但您需要将您的设备注册为测试设备并使用您自己的请求配置。这是一个简单的示例:在“Logcat”中搜索您的“设备 ID”

它看起来像

I/ADS: Use Requested Configuration......Arrays.asList("Your device Id will be here");

然后只需复制粘贴这个(我能读懂你的想法..)

// Change your Id
RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("your device id should go here")).build();
MobileAds.setRequestConfiguration(configuration);
Run Code Online (Sandbox Code Playgroud)

现在只需加载广告,它就会弹出。恭喜。:)


场景 2:当应用程序在生产中时

这是非常简单的部分...

  1. 只需从代码中删除 .setTestDeviceIds(Arrays.asList("your device id should go here")) 部分...
  2. 将您的 AdMob 应用与 PlayStore 相关联。[你的应用发布了吗?是的……是的……还有……]
  3. 只需选择广告。
  4. 并检查是否在 Play 控制台的应用设置中启用了广告。
  5. 它现在应该可以工作了。恭喜。

  • @ManikumarGouni 仅当应用程序发布到 Play 商店时才有效,以防止错误印象。 (2认同)
  • 不能解决激励广告的问题。仍然没有收到广告配置错误。 (2认同)
  • 不能解决激励广告的问题。仍然没有收到广告配置错误。 (2认同)

小智 16

我的错误:同时设置测试设备和加载测试广告

解决方案:仅使用一个。通过使用具有生产广告单元 ID 的测试设备,错误消失了。即使您指定了制作广告单元 ID,广告也会再次加载,并且它们是测试广告

  • 如果您为应用设置了 app-ads.txt 文件,则还需要在 app-ads.txt 文件中包含以下行,以便使用演示广告单元加载广告:“google.com, pub-3940256099942544,直接,f08c47fec0942fa0”来源:https://developers.google.com/admob/android/test-ads#sample_ad_units (2认同)

小智 10

这是另一种不需要编程的方法。

转到 Admob 仪表板 > 设置 > 测试设备 > 添加测试设备

要找到此信息,请转到您的设备设置 > Google > 广告 >,您可以在其中找到您的广告 ID!


hid*_*s02 7

如果您的应用已上传到某个商店并且您没有正确设置app-ads.txt,也可能会发生这种情况。

您应该记住,如果您使用 AdMob 测试广告,您也应该将此条目添加到您的app-ads.txt中:

google.com,pub-3940256099942544,直接,f08c47fec0942fa0

来源: https: //developers.google.com/admob/android/test-ads