我正在尝试为我的应用加载非页内广告。每当我尝试加载这些广告时,都会出现错误消息,提示来自“ 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();
}
答案 0 :(得分:3)
修复它并起作用。
从Google找到了资源。它消除了我所有的疑虑。 For Test Ad Resource Click Me
广告以两种方式起作用。
方案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 :(得分:0)
我正在使用颤振。 我刚刚在 Admob 测试设备中添加了我的设备并且它工作正常。 在生产中,我只会移除测试设备。
如果我错了,请告诉我。
答案 2 :(得分:0)
由于在调试模式下加载广告,您面临此错误,因此您必须使用测试广告来测试您的展示位置,或者如果您想使用真实广告测试您的展示位置,请执行以下操作:
<块引用>启用测试广告。有两种方法:您可以使用链接 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!
就是这样!!
答案 3 :(得分:-2)
此警告只是表明您的 AdMob 帐户尚未收到银行确认或银行帐户添加确认。