【问题标题】:How can I ensure admob will appear in my app如何确保 admob 出现在我的应用程序中
【发布时间】:2017-07-26 07:33:58
【问题描述】:

我们知道,Google 要求我们在开发应用时使用测试设备和测试广告单元 ID。但是,我想知道是否存在我可以 看到真实的广告,因为我怕我在发布前更改代码和广告ID后就没有广告了。我已经成功看到测试广告,然后我更改了代码和广告id,然后将我的应用程序提交到beta测试,但是测试人员说没有显示任何广告,这是正常的,还是我的代码有错误或广告单元 ID。 感谢您的帮助!

下面是我的广告相关代码,我改了广告id

mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

【问题讨论】:

    标签: android admob


    【解决方案1】:

    您甚至可以将实际的广告单元 ID 用于开发,但您的测试设备应在构建广告请求时添加到 TEST DEVICES 列表中。

    如果您使用的是有效的广告单元 ID,则可以确保在您发布应用时展示广告。此外,您可以在 Adsense Dashboard 中检查您的广告单元是否获得了点击。

    如果你想完全确定,你可以尝试在另一台设备上安装 apk,测试它,然后在看到广告时发布它。

    【讨论】:

      【解决方案2】:

      您可以使用 AdListener 并监控它不显示广告的原因。请记住,如果您创建了新的广告单元,则需要一些时间或几个小时来为其安排实时广告。如果测试广告正在展示,并且您拥有有效的广告单元 ID,并且您的应用没有违反任何政策,那么您就可以开始了(如果您的应用存在政策问题,您将收到电子邮件)。广告将在可用时显示。

      AdView adView = (AdView) findViewById(R.id.adView);
      AdRequest adRequest1 = new AdRequest.Builder().build();
      adView.loadAd(adRequest1);
      adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
          // Code to be executed when an ad finishes loading.
          Log.i("Ads", "onAdLoaded");
        }
      
        @Override
        public void onAdFailedToLoad(int errorCode) {
          // Code to be executed when an ad request fails.
      
      
          switch (errorCode){
            case AdRequest.ERROR_CODE_INTERNAL_ERROR:
              Toast.makeText(PlayListsActivity.this,"onAdFailedToLoad banner ERROR_CODE_INTERNAL_ERROR",Toast.LENGTH_SHORT).show();
              break;
            case AdRequest.ERROR_CODE_INVALID_REQUEST:
              Toast.makeText(PlayListsActivity.this,"onAdFailedToLoad banner ERROR_CODE_INVALID_REQUEST",Toast.LENGTH_SHORT).show();
              break;
            case AdRequest.ERROR_CODE_NETWORK_ERROR:
              Toast.makeText(PlayListsActivity.this,"onAdFailedToLoad banner ERROR_CODE_NETWORK_ERROR",Toast.LENGTH_SHORT).show();
              break;
            case AdRequest.ERROR_CODE_NO_FILL:
              Toast.makeText(PlayListsActivity.this,"onAdFailedToLoad banner ERROR_CODE_NO_FILL",Toast.LENGTH_SHORT).show();
              break;
          }
          Log.i("Ads", "onAdFailedToLoad");
        }
      
        @Override
        public void onAdOpened() {
          // Code to be executed when an ad opens an overlay that
          // covers the screen.
          Log.i("Ads", "onAdOpened");
        }
      
        @Override
        public void onAdLeftApplication() {
          // Code to be executed when the user has left the app.
          Log.i("Ads", "onAdLeftApplication");
        }
      
        @Override
        public void onAdClosed() {
          // Code to be executed when when the user is about to return
          // to the app after tapping on an ad.
          Log.i("Ads", "onAdClosed");
        }
      });
      

      【讨论】:

      • Elysian 什么是“横幅 ERROR_CODE_INTERNAL_ERROR”,请您解释一下,我正面临这个错误。
      猜你喜欢
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      相关资源
      最近更新 更多