在测试广告时,我的应用中没有显示Admob实时广告

时间:2017-10-15 10:40:04

标签: android admob

Admob直播广告未展示,同时正在展示测试广告。实时广告根本没有展示,我不知道我错过了什么。

这是代码。

String.java XML

     <!-- Insert Id admob -->

     <string name="BannerAd_unit_id">cca-app-pub-1154915214031679/2100011458</string>

     <string name="InterstitialAd_unit_id">ca-app-pub-1154915214031679/9049914448</string>

MainGame.Java Class

  this.BANNER_AD_UNIT_ID = getResources().getString(R.string.BannerAd_unit_id);
    showBanner();

screen java.class

   public void showBanner() {
    //banner ad
    if (BANNER_AD_UNIT_ID.length() > 0) {
        // Create an ad.

        adView = new AdView(this);
        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId(BANNER_AD_UNIT_ID);

        //make ad visible on bottom of screen
        RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        params1.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        params1.addRule(RelativeLayout.CENTER_HORIZONTAL);
        adView.setLayoutParams(params1);
        layout.addView(adView);

        // Create an ad request. Check logcat output for the hashed device ID to
        // get test ads on a physical device.
        AdRequest adRequest = new AdRequest.Builder()
                //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)      

//.addTestDevice("C01834A0B4A8FA4C03A0E09605F43819")//GalaxyS4*/
                .build();

        // Start loading the ad in the background.
        adView.loadAd(adRequest);
    }
}

如果我删除评论&#34; .addTestDevice&#34;然后测试广告正在显示,如果我发表评论,那么实时广告就不会显示。我不知道发生了什么,我们将不胜感激任何帮助。

3 个答案:

答案 0 :(得分:2)

如果您没有收到真正的广告,但正在接收“测试广告”,那么实施应该没问题。

如果您刚刚创建了广告帐户,则需要几个小时才能显示真实广告,有时可能无法展示广告。

将adListener设置为您的adView,然后查看您的回复内容。它可能是ERROR_CODE_NO_FILL,或者它可能会为您提供其他提示来解决问题。

答案 1 :(得分:0)

确保您已使用付款明细更新了AdMob(为此转到“付款”部分)。

检查您的AdMob信息中心以查看广告状态,以检查它们是否处于活动状态。

验证您使用了正确的广告单元ID。

更新信息后,最多可能需要24小时才能验证您的信息。验证后,它们将启用您的广告投放。您会收到一封电子邮件通知,说明您的广告正在投放。

答案 2 :(得分:0)

如果测试广告运行正常,则说明您的实施是正确的,但是您需要在admob帐户中填写“付款”选项。填写完该表格后,您将收到一封有关确认付款细节的电子邮件,并显示一条消息,指示是否您的信息已被admob小组接受,如果是,则将显示实时广告。但是请记住,广告最初不会展示。批准后也要花费一些时间。

以下是错误代码的代码段,以查找出问题所在

 mAdView = (com.google.android.gms.ads.AdView) findViewById(R.id.adView);

        mAdView.setAdListener(new com.google.android.gms.ads.AdListener() {
            @Override
            public void onAdLoaded() {
                // Code to be executed when an ad finishes loading.
                Toast.makeText(HomeActivity.this, "onAdLoaded", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {
                if(errorCode==AdRequest.ERROR_CODE_INTERNAL_ERROR)

                Toast.makeText(HomeActivity.this, "onAdFailedToLoad", Toast.LENGTH_SHORT).show();

                // Code to be executed when an ad request fails.
            }

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


            }

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


            }

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



            }
        })
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

Get the error code:
  • ERROR_CODE_INTERNAL_ERROR-内部发生了什么;例如,从广告服务器收到无效的响应。
  • ERROR_CODE_INVALID_REQUEST-广告请求无效;例如,广告单元ID不正确。
  • ERROR_CODE_NETWORK_ERROR-由于网络连接,广告请求失败。
  • ERROR_CODE_NO_FILL-广告请求成功,但由于缺少广告资源而没有退回任何广告。