“没有广告配置”尝试加载广告时on onAdFailedToLoad方法上

问题描述

我正在尝试为我的应用加载非页内广告。每当我尝试加载这些广告时,都会出现错误消息,提示来自“ 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>

onCreate()在main.java中

        
        // 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();
           }
       });

当我在 on 功能中加载广告时,出现错误“无广告配置”。

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

解决方法

修复它并起作用。

从Google找到了资源。它消除了我所有的疑虑。 For Test Ad Resource Click Me

广告以两种方式起作用。

  1. 该应用正在开发中。
  2. 该应用正在生产中。

方案1:应用处于开发阶段

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

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

看起来像

I / ADS:使用请求的配置... Arrays.asList(“您的设备ID将在这里”);

然后只需复制粘贴即可(我可以读懂您的想法了。)

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

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


方案2:应用正在生产中

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

  1. 只需从代码中删除.setTestDeviceIds(Arrays.asList(“设备ID应该放在这里”))部分即可。
  2. 将您的AdMob应用链接到PlayStore。 [您的应用发布了吗?是...是...等等...]
  3. 只选择广告。
  4. 然后在播放控制台的应用设置中检查是否启用了广告。
  5. 现在应该可以工作了。恭喜。
,

我正在使用颤振。 我刚刚在 Admob 测试设备中添加了我的设备并且它工作正常。 在生产中,我只会移除测试设备。

如果我错了,请告诉我。

,

由于在调试模式下加载广告,您面临此错误,因此您必须使用测试广告来测试您的展示位置,或者如果您想使用真实广告测试您的展示位置,请执行以下操作:

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

RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("your device id should go here")).build();
MobileAds.setRequestConfiguration(configuration);

在 Playstore 上发布应用时不要忘记删除此代码

或者试试这个简单的方法!!转到 Admob 仪表板 > 设置 > 测试设备 > 添加测试设备

这样您就可以直接从 admob UI 添加测试设备,无需编程设置。

您必须粘贴您的 device advertising id 才能找到它,请转到您的设备设置 > Google > Ads >,您可以在其中找到您的广告 ID!

就是这样!!

,

此警告只是表明您的 AdMob 帐户尚未收到银行确认或银行帐户添加确认。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...