Admob标语加载两次,导致两个Admob广告在同一位置

时间:2019-02-06 03:12:16

标签: admob

这是我的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”时有两个广告

真的需要修复。

2 个答案:

答案 0 :(得分:0)

按照this page设置Admob标语解决了我的问题。

答案 1 :(得分:0)

对我来说,双横幅的这种问题与使用 Activity 类的 recreate() 方法重新启动 android Activity 有关。

我通过打开另一种重新启动 android 活动的方式解决了这个问题:

startActivity(Intent.makeRestartActivityTask(getActivity().getIntent().getComponent()));

在那之后,我的应用底部出现双横幅的问题终于解决了。