[英]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 广告,反之亦然
这样就可以了
尝试加载 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.