AdMob广告未在模拟器中显示。

3

我正在将 AdMob 广告集成到我的应用程序中。我在模拟器上运行我的应用程序,并在 AdMob 中将设备 ID 设置为模拟器。但即使如此,广告仍然没有显示出来。

以下是我的代码:

XML

 <com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/adView"
            android:layout_marginTop="15dp"
            android:layout_marginRight="16dp"
            android:layout_marginLeft="16dp"
            android:layout_below="@+id/card_nam_sub"
            ads:adSize="BANNER"
            ads:adUnitId="MY_ADUNIT_ID"
            >

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

JAVA

MobileAds.initialize(this, "@string/app_id");

adView = findViewById(R.id.adView);

adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("@string/ad_unit_id");

MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });

AdRequest adRequest = new 
AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
adView.loadAd(adRequest);

AndroidManifest.xml

<application>

    .....

   <meta-data
   android:name="com.google.android.gms.ads.APPLICATION_ID"
   android:value="@string/app_id"/>

</application>

请有人告诉我我做错了什么。任何帮助将不胜感激。

谢谢


你是在说它可以在实际设备上运行吗? - a_local_nobody
我还没有在实际设备上测试,我正在模拟器上调试应用程序。 - Digvijay
AdRequest.Builder 上添加一个监听器以检查错误代码,然后从文档中查看错误代码:https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest - Cătălin Florescu
2个回答

1
你在XML和JAVA文件中都提供了广告ID和广告尺寸,这是不正确的。

当我从Java文件中删除广告ID和广告尺寸时,它会显示错误。在调用loadAd之前必须设置广告尺寸和广告单元ID。 - Digvijay
在我以下的另一篇回答中,跟着它并实现它。 - F_Z

1

这是一个关于横幅广告的最简单方法。

在清单文件中:

<meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="@string/admob_app_id"/>

在XML中:

<com.google.android.gms.ads.AdView
            android:visibility="invisible"
            android:id="@+id/ad_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:adSize="SMART_BANNER"
            android:layout_alignParentBottom="true"
            app:adUnitId="@string/banner_ad_unit_id"/>

在你的第一个活动中:
AudienceNetworkAds.initialize(this);
        try {
            MobileAds.initialize(this, getString(R.string.admob_app_id))
        } catch (e: Exception) {
        }

在加载广告的活动中:
val adRequest: AdRequest = AdRequest.Builder().build()
                ad_view.loadAd(adRequest)

代码使用的是Kotlin语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接