【问题标题】:Admob shows Test ads but not real ads in android?Admob 在 android 中显示测试广告而不是真实广告?
【发布时间】:2018-04-11 08:54:01
【问题描述】:

我正在使用 AdMob 来展示 Android 广告。测试广告运行良好,但未显示真实广告。另外,我遇​​到了真正的插页式广告横幅广告都不起作用的问题。这里是我的代码:

banner_ads.xml

  <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp">

        <com.google.android.gms.ads.AdView 
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            ads:adSize="BANNER"
            ads:adUnitId="ca-app-pub-3940256099942544/6300978111">

            <!-- i have used a test ads over here -->

        </com.google.android.gms.ads.AdView>


    </RelativeLayout>

MainActivity.java

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

<!--for interstitial -->
InterstitialAd mInterstitialAd;
mInterstitialAd = new InterstitialAd(getApplicationContext());
// i have used a test id
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());

如何更改我的代码以便同时显示实时广告?

【问题讨论】:

    标签: java android


    【解决方案1】:

    为 InterstitialAd 试试这个,因为你没有在代码中写mInterstitial.show();

    这样

    public void inrequestadd() {
        mInterstitial = new InterstitialAd(MainActivity.this);
        mInterstitial.setAdUnitId(getString(
                R.string.INTRESTITIAL_ID));
        mInterstitial.loadAd(new AdRequest.Builder().build());
        mInterstitial.setAdListener(new AdListener() {
    
            @Override
            public void onAdClosed() {
                super.onAdClosed();
    
            }
    
            @Override
            public void onAdFailedToLoad(int errorCode) {
                super.onAdFailedToLoad(errorCode);
    
            }
    
            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
                if (mInterstitial.isLoaded()) {
                    mInterstitial.show();
                }
            }
        });
    }
    

    【讨论】:

      【解决方案2】:

      上周,我也遇到了同样的情况。请查看步骤。

      1_ 确保使用正确的发布者和横幅 ID。我在您的代码中没有看到发布者 ID,请访问 admob get started page

      2_错误是什么?你可以在 logcat 中找到它。或者您可以在您的代码中实现 adlistener 并像这样打印它;

      mAdView.setAdListener(new AdListener() {
      
          @Override
          public void onAdFailedToLoad(int errorCode) {
              // log the error code
          }
      });
      

      3_如果你得到错误代码=0

      3.a_一些博客这么说;当您在 admob 中创建新广告时会发生这种情况,有时需要 1-2 小时才能工作。所以请稍后再试。

      3.b_(这是我的情况)我不知道原因,但谷歌禁止了我的包名,所以在这种情况下,你的应用程序永远不允许显示任何广告。只需更改您的包装名称,一切正常。要检查这种情况,请创建新的示例项目,然后复制您的 admob 代码。

      【讨论】:

        【解决方案3】:

        它是 Android Studio 3.0 的改进。

        如果您将应用程序运行到其他设备上,admob 将开始投放真实广告

        编辑 注意:您的代码没有问题,但您从谷歌网站复制了测试广告代码,这就是您获得测试广告的原因。要显示真实广告,您需要从您的 google admob 帐户生成广告代码。

        【讨论】:

        • Hello Thats Enam 有什么方法可以检查我使用的广告 ID 是否正确
        • @MahakSinghvi 我编辑了答案。如果它有助于将此答案标记为解决方案是一种聪明的工作。 :)
        • 我已经尝试并替换了代码,但它没有显示广告,这就是我问这个问题的原因
        • @MahakSinghvi 哦,天哪,投放真实广告需要一些时间。保持耐心。
        • 我已经等了 30 分钟但没有得到任何结果:(
        【解决方案4】:

        您在 XML 和 java 文件中都设置 adUnit,避免在 java 或 xml 文件中都设置它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-05-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多