繁体   English   中英

如果没有谷歌横幅广告,显示start.io横幅广告?

[英]If there is no Google banner ad, display the start.io banner ad?

有时没有来自 Google 的横幅广告,我想通过展示来自 StarApp 的另一个广告来利用这个空白空间,
但我想在没有来自 Google 的横幅广告时严格执行此操作

爪哇

      StartAppSDK.init(this, (getResources().getString(R.string.ad_star)), false);
//        StartAppAd.showAd(this);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });
        AdView adView = new AdView(this);
        adView.setAdSize(AdSize.SMART_BANNER);
        adView.setAdUnitId (getResources().getString(R.string.admob_main));
        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

布局

<com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center"
            app:adSize="SMART_BANNER"
            app:adUnitId="@string/admob_main">

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

        <com.startapp.sdk.ads.banner.Banner
                    android:id="@+id/startAppBanner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true" />

代码正在运行,一切都很完美,两者都出现但覆盖了屏幕的很大一部分,因此:
如果 Google 横幅中没有广告,我希望显示 StarApp 广告,反之亦然

这样就可以了

  1. 尝试加载 admob

    公共无效 showBannerADMOB() {

     bannerViewAdMob.setVisibility(View.VISIBLE); if (bannerViewAdMob == null) return; AdRequest adRequest = new AdRequest.Builder().build(); bannerViewAdMob.setAdListener(new com.google.android.gms.ads.AdListener() { public void onAdLoaded() { bannerViewAdMob.setVisibility(View.VISIBLE); } public void onAdFailedToLoad(int errorCode) { bannerViewAdMob.setVisibility(View.GONE); showBannerStartApp(); } }); bannerViewAdMob.loadAd(adRequest);

    }

如上调用 showBannerADMOB(),在该 admob 横幅失败时转到 StartApp

public void showBannerStartApp() {

    relativeStartAppBanner.setVisibility(View.VISIBLE);
    bannerViewAdMob.setVisibility(View.GONE);

    //startAppBanner.loadAd(400,150);
    startAppBanner.setBannerListener(new BannerListener() {
        @Override
        public void onReceiveAd(View view) {
            startAppBanner.showBanner();
        }

        @Override
        public void onFailedToReceiveAd(View view) {
            Log.d("===", "onFailedToReceiveAd :: banner");
            relativeStartAppBanner.setVisibility(View.GONE);
            startAppBanner.hideBanner();
            
        }

        @Override
        public void onImpression(View view) {

        }

        @Override
        public void onClick(View view) {

        }
    });

}

为此布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="@android:color/transparent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp">

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/admob_banner_id"
    android:visibility="visible">
</com.google.android.gms.ads.AdView>

<RelativeLayout
    android:id="@+id/relativeStartAppBanner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:visibility="visible">

    <com.startapp.sdk.ads.banner.Banner
        android:id="@+id/startAppBanner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:visibility="visible" />
</RelativeLayout>

我已经实现了这种方式,如果 admob 失败,它将显示 StartApp。 希望它对你有用....:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM