这是我的admob标语的实现方式。
在Layout.xml中
<FrameLayout
android:id="@+id/banner_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="48dp"
android:minHeight="50dp" />
在AdActivity.java
中 private void initBannerViewGroup() {
bannerViewGroup = findViewById(getBannerViewGroupId());
if (bannerViewGroup != null) {
if (shouldShowBannerAd())
initAdView();
} else {
Log.w(TAG, "Banner view group was not initialized! Wrong id!");
}
initInterstitialAd();
}
private void initAdView() {
if (mIsPremium){
bannerViewGroup.setVisibility(View.GONE);
return;
}
adView = new AdView(this);
adView.setAdUnitId(BANNER_AD_UNIT_ID);
adView.setAdSize(AdSize.SMART_BANNER);
bannerViewGroup.addView(adView);
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
adView.loadAd(adRequestBuilder.build());
}
在pictureactivity.java中称为广告
@Override
protected int getBannerViewGroupId() {
return R.id.banner_layout;
}
@Override
protected boolean shouldShowBannerAd() {
return true;
}
完成上述操作后,我在同一位置收到两个横幅,如下所示: Admob banner Admob banner2
如果我仅使用“ BANNER”代替“ SMART_BANNER”,则仅加载一个广告,这很好。但是,使用“ SMART_BANNER”时有两个广告
真的需要修复。
答案 0 :(得分:0)
按照this page设置Admob标语解决了我的问题。
答案 1 :(得分:0)
对我来说,双横幅的这种问题与使用 Activity 类的 recreate() 方法重新启动 android Activity 有关。
我通过打开另一种重新启动 android 活动的方式解决了这个问题:
startActivity(Intent.makeRestartActivityTask(getActivity().getIntent().getComponent()));
在那之后,我的应用底部出现双横幅的问题终于解决了。