测试不显示插页式广告。错误代码3-未填充

时间:2018-10-14 11:02:42

标签: java android admob interstitial google-admob

因此,我想在我的应用中实施插页式广告。我开始使用测试广告进行测试,但它们无法正常工作。我从onAdFailedToLoad()方法收到错误代码3。此外,我还尝试从此示例显示插页式广告,但它https://github.com/googleads/googleads-mobile-android-examples也无法正常工作。我试图从nougat os btw

运行它

这是我的代码:

setupAds()方法在onCreate()中调用

private void setupAds() {


    //MobileAds.initialize(this, "ca-app-pub-8285809885442873~1312963043");

    MobileAds.initialize(this,
            "ca-app-pub-3940256099942544~3347511713");

    mInterstitial=new InterstitialAd(this);
    mInterstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

    mInterstitial.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            Toast.makeText(PopupActivity.this, "onAdlOOADED", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {

            Toast.makeText(PopupActivity.this, "onAdfailedtoload" + errorCode, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onAdOpened() {
            Toast.makeText(PopupActivity.this, "onAdOpened", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onAdLeftApplication() {
            Toast.makeText(PopupActivity.this, "onAdleftaplication", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onAdClosed() {
            Toast.makeText(PopupActivity.this, "onAdcLOASED", Toast.LENGTH_SHORT).show();
        }
    });

    AdRequest request = new AdRequest.Builder().
            addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();
    mInterstitial.loadAd(request);

    ((Button) mView.findViewById(R.id.test_ad_button)).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mInterstitial.isLoaded()){
                mInterstitial.show();
            }
        }
    });
}

我在这里展示广告:

if (!isFirstStarted()){
            if (mInterstitial.isLoaded()){
                mInterstitial.show();
            }
        }

这是清单的一小段:

  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher_round"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
            <meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="ca-app-pub-8285809885442873~1312963043"/>

3 个答案:

答案 0 :(得分:0)

此代码对我有用!

注意::在此示例中,我使用了测试广告ID和插页式ID。

MobileAds.initialize(LoginActivity.this, "ca-app-pub-3940256099942544~3347511713");

        mInterstitialAd = new InterstitialAd(LoginActivity.this);

        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd.loadAd(new AdRequest.Builder()
                //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .build());

        mInterstitialAd.setAdListener(new com.google.android.gms.ads.AdListener() {
            @Override
            public void onAdLoaded() {
                mInterstitialAd.show();
                super.onAdLoaded();

            }
        });

答案 1 :(得分:0)

选中此LinkERROR_CODE_NO_FILL:广告请求成功,但由于缺少广告资源而没有退回任何广告。

答案 2 :(得分:0)

错误代码3 表示AdMob无法满足您的广告请求。

根据 onAdFailedToLoad()方法的document,错误有4种。

错误代码0 :ERROR_CODE_INTERNAL_ERROR-内部发生了某些事情;例如,从广告服务器收到无效的响应。

错误代码1 :ERROR_CODE_INVALID_REQUEST-广告请求无效;例如广告单元ID不正确。

错误代码2 :ERROR_CODE_NETWORK_ERROR-由于网络连接,广告请求失败。

错误代码3 :ERROR_CODE_NO_FILL-广告请求成功,但由于缺少广告资源而未返回任何广告。 AdMob Help Community认为,违反政策还会导致错误代码3

情况1 仅由粗心的开发人员执行。它不应该发生。它不是用户可触发的。

当用户使用AD阻止程序或网络连接断开时,发生

情况2 。它是用户可触发的。

开发人员无法控制

情况0 情况2 情况3 。我建议您需要在应用程序中处理这些情况。