如何修复 Libgdx 中的 "Ad failed to load : 3" 错误
How to fix "Ad failed to load : 3" error in Libgdx
我正在尝试在 Libgdx 中添加 Admob,但是当我 运行 它在我的 phone 中时,我总是收到错误 "Ad failed to load : 3" 作为 [=43] 中的最后一行=].
我在 Admob 提供了付款信息,他们已经验证了这些信息。
我尝试将 Admob 添加到纯 Android 应用程序,没有 Libgdx,它显示了一个添加(横幅),但是当涉及到 Libgdx 时它不起作用。
这是我的Android启动器:
public class AndroidLauncher extends AndroidApplication {
private static final String adUnitId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
RelativeLayout layout = new RelativeLayout(this);
View gameView = initializeForView(new MyGdxGame(), config);
setupAds();
RelativeLayout.LayoutParams adParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("AAAAAAAAAAAAAAAAAAAAAAAAAAA")
.build();
adView.loadAd(adRequest);
layout.addView(adView, adParams);
layout.addView(gameView);
setContentView(layout);
}
private void setupAds() {
adView = new AdView(this);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
System.out.println("Banner loaded!");
}
});
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(adUnitId);
}
这是 logcat 的最后几行:
W/VideoCapabilities: 不支持的 mime video/mp4v-esdp
I/VideoCapabilities:video/mp4v-es
不支持配置文件 4
I/Ads:广告加载失败:3
这里是AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:appCategory="game"
android:icon="@drawable/ic_launcher"
android:isGame="true"
android:label="@string/app_name"
android:theme="@style/GdxTheme">
<activity
android:name="com.test.game.AndroidLauncher"
android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout"
android:label="@string/app_name"
android:screenOrientation="portrait">
<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.version" android:value="@integer/google_play_services_version"/>
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
你知道如何解决这个问题吗?
AdView 的错误代码 3 表示目前没有要填充的广告,您可以看到您的代码在调试模式下运行,但有时您可能无法投放广告,具体取决于您所在的位置。
您可以使用中介,或从控制台增加广告提供商的数量来解决此问题。
错误代码 3:ERROR_CODE_NO_FILL
说明:广告请求成功,但由于广告资源不足,没有返回广告。
为什么会发生:广告商可以根据业务相关性定位特定区域、平台和用户配置文件,这有时会导致特定区域或用户配置文件的广告可用性较低。错误代码表明实施是正确的,并且由于在从应用程序发送广告请求的特定时刻没有合适的广告可用,广告请求未被填充。
某些应用程序或广告单元的政策相关限制也将导致错误代码 3 被返回以响应广告请求。
酒吧能做些什么:
→ 由于我们无法操纵广告客户的需求,因此没有针对此错误的特定“修复”- 发布者可以 cross-check 广告单元实施以确保正确实施广告单元。
→ 中介:在某些情况下,某些广告网络在某些地区或特定格式的表现可能有限,在这种情况下,酒吧可以尝试使用中介来添加其他可能表现良好的广告网络。
→ 检查 Pub ID、应用程序和广告单元 ID 的政策状态。还要检查品牌安全标志和 Coppa 状态。
→ 如果 Pub 可以获得广告单元的测试广告(说明)-那么它们的实现是正确的,并且广告单元将根据广告客户的需求在广告可用时正常投放广告。
我正在尝试在 Libgdx 中添加 Admob,但是当我 运行 它在我的 phone 中时,我总是收到错误 "Ad failed to load : 3" 作为 [=43] 中的最后一行=].
我在 Admob 提供了付款信息,他们已经验证了这些信息。 我尝试将 Admob 添加到纯 Android 应用程序,没有 Libgdx,它显示了一个添加(横幅),但是当涉及到 Libgdx 时它不起作用。
这是我的Android启动器:
public class AndroidLauncher extends AndroidApplication {
private static final String adUnitId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
RelativeLayout layout = new RelativeLayout(this);
View gameView = initializeForView(new MyGdxGame(), config);
setupAds();
RelativeLayout.LayoutParams adParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("AAAAAAAAAAAAAAAAAAAAAAAAAAA")
.build();
adView.loadAd(adRequest);
layout.addView(adView, adParams);
layout.addView(gameView);
setContentView(layout);
}
private void setupAds() {
adView = new AdView(this);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
System.out.println("Banner loaded!");
}
});
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(adUnitId);
}
这是 logcat 的最后几行:
W/VideoCapabilities: 不支持的 mime video/mp4v-esdp
I/VideoCapabilities:video/mp4v-es
不支持配置文件 4I/Ads:广告加载失败:3
这里是AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:appCategory="game"
android:icon="@drawable/ic_launcher"
android:isGame="true"
android:label="@string/app_name"
android:theme="@style/GdxTheme">
<activity
android:name="com.test.game.AndroidLauncher"
android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout"
android:label="@string/app_name"
android:screenOrientation="portrait">
<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.version" android:value="@integer/google_play_services_version"/>
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
你知道如何解决这个问题吗?
AdView 的错误代码 3 表示目前没有要填充的广告,您可以看到您的代码在调试模式下运行,但有时您可能无法投放广告,具体取决于您所在的位置。
您可以使用中介,或从控制台增加广告提供商的数量来解决此问题。
错误代码 3:ERROR_CODE_NO_FILL
说明:广告请求成功,但由于广告资源不足,没有返回广告。
为什么会发生:广告商可以根据业务相关性定位特定区域、平台和用户配置文件,这有时会导致特定区域或用户配置文件的广告可用性较低。错误代码表明实施是正确的,并且由于在从应用程序发送广告请求的特定时刻没有合适的广告可用,广告请求未被填充。
某些应用程序或广告单元的政策相关限制也将导致错误代码 3 被返回以响应广告请求。
酒吧能做些什么:
→ 由于我们无法操纵广告客户的需求,因此没有针对此错误的特定“修复”- 发布者可以 cross-check 广告单元实施以确保正确实施广告单元。
→ 中介:在某些情况下,某些广告网络在某些地区或特定格式的表现可能有限,在这种情况下,酒吧可以尝试使用中介来添加其他可能表现良好的广告网络。
→ 检查 Pub ID、应用程序和广告单元 ID 的政策状态。还要检查品牌安全标志和 Coppa 状态。
→ 如果 Pub 可以获得广告单元的测试广告(说明)-那么它们的实现是正确的,并且广告单元将根据广告客户的需求在广告可用时正常投放广告。