以编程方式创建它
View adContainer = findViewById(R.id.adMobView);
AdView mAdView = new AdView(context);
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId(YOUR_BANNER_ID);
((RelativeLayout)adContainer).addView(mAdView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
在您的 xml 文件中
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/adMobView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
编辑
横幅广告的最佳做法是两个横幅广告,每个视图显示一个横幅(一个),如果要在相同的屏幕中显示更多横幅(不推荐),则必须从控制台创建另一个横幅,并为每个横幅创建一个 adView。unitId
unitId
unitId
我的回答是:
不知道这是一个错误,或者你是否每个adView只能有一个,它更有意义,因为你只能有一个每个adView,并从文档中阅读它们显示两种方法,通过实例化一个新的和程序化的设置和OR仅从XML执行。unitId
unitId
AdView()
unitIds
sizes
我做了一些测试来得出这个结论。
通过使用 findViewById 从您的com.google.android.gms.ads.AdView
1 - 如果先设置,则可以进行编程。setAdUnitId
adSize
2 - 如果它已经在 xml 中,则无法以编程方式进行编程。setAdUnitId
3 - 如果您未在 xml 中使用 'setAdUnitId',则它会发出警报,即使您以编程方式设置了这两个属性,也会发出警报。Required xml attribute adUnitId was missing
adSize
4 - 如果不按程序方式放置和放置,adView 将提醒您,如果您未在 xml 中设置,则同样如此。setAdUnitId
setSize
Required xml attribute adUnitId was missing
adSize
5 - 您唯一可以做的程序化操作就是调用以加载广告mAdView.loadAd(adRequest)
通过使用new AdView()
1 - 如果您创建一个空布局,然后将 adView 引用添加到此视图,则此方法将起作用。
2 - 您可以设置和编程它将起作用。adSize
adUnitId
3-如果您尝试使用两次,则此异常将启动,如果您使用setAdUnitAd
The ad unit ID can only be set once on AdView.
findViewById
我的结论是:
您只能从 XML 中使用”
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-my_id_number_was_ommited_by_security" />
和加载视图 on 创建
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
或完全编程
View adContainer = findViewById(R.id.adMobView);
AdView mAdView = new AdView(context);
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId(YOUR_BANNER_ID);
adContainer.addView(mAdView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
我使用横幅广告很长一段时间,这个答案对我有好处。