【问题标题】:How to fix "Ad failed to load : 3" error in Libgdx如何修复 Libgdx 中的“广告加载失败:3”错误
【发布时间】:2019-11-30 09:58:31
【问题描述】:

我正在尝试在 Libgdx 中添加 Admob,但是当我在手机上运行它时,我总是在 logcat 的最后一行收到错误“Ad failed to load : 3”。

我已在 Admob 提供了付款信息,并且他们已对其进行了验证。 我尝试将 Admob 添加到没有 Libgdx 的纯 Android 应用程序中,它显示了一个添加(横幅),但是当涉及到 Libgdx 时它不起作用。

这是我的 AndroidLauncher:

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:视频/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>

你知道如何解决这个问题吗?

【问题讨论】:

    标签: java android android-studio libgdx


    【解决方案1】:

    AdView 的错误代码 3 表示目前没有可填充的广告,您可以看到您的代码在调试模式下工作,但有时根据您所在的位置,您可能无法投放广告。

    您可以使用中介,或从控制台增加广告提供商的数量来解决此问题。

    【讨论】:

      【解决方案2】:

      错误代码 3:ERROR_CODE_NO_FILL

      说明:广告请求成功,但由于广告资源不足,没有返回广告。

      为什么会这样:广告商可以根据业务相关性定位特定区域、平台和用户资料,这有时会导致特定地区或用户资料的广告可用性较低。错误代码表明实施是正确的,并且由于在从应用发送广告请求的特定时刻缺乏合适的广告可用性,因此未满足广告请求。

      对某些应用或广告单元的政策相关限制也会导致响应广告请求返回错误代码 3。

      酒吧能做些什么:

      → 由于我们无法操纵广告客户的需求,因此没有针对此错误的特别“修复” - 发布者可以交叉检查广告单元的实施,以确保广告单元的实施正确。

      → 中介:在某些情况下,某些广告网络可能在某些地区或特定格式的表现有限,在这种情况下,酒吧可以尝试使用中介来添加其他可能表现良好的广告网络。

      → 检查 Pub ID、应用程序和广告单元 ID 的政策状态。还要检查品牌安全标志和 Coppa 状态。

      → 如果 Pub 可以获得广告单元的测试广告(说明) - 那么它们的实施是正确的,并且当广告可用时,广告单元将根据广告客户的需求正常投放广告。

      【讨论】:

      • 所以当应用发布到应用商店时,用户会看到广告,但我现在看不到?
      • 您是否应用了过滤器(广告类别)?
      • 我没有申请任何东西。
      猜你喜欢
      • 2021-01-04
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 2021-10-27
      • 1970-01-01
      相关资源
      最近更新 更多