【问题标题】:Hide Native AdView if not loaded如果未加载,则隐藏原生 AdView
【发布时间】:2016-10-20 07:45:09
【问题描述】:

我想要实现的是隐藏我的广告视图,如果由于互联网或服务器没有广告而未加载。

MainActivity.java

NativeExpressAdView nativeView =
            (NativeExpressAdView) findViewById(R.id.natvie_ad);
    nativeView.loadAd(new AdRequest.Builder().addTestDevice("testDeviceID").build());

布局

<com.google.android.gms.ads.NativeExpressAdView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/moreView"
        android:id="@+id/natvie_ad"
        ads:adSize="300x80"
        ads:adUnitId="adUnitID"
        android:layout_centerHorizontal="true"

        />

【问题讨论】:

  • 那么你尝试了什么?

标签: android native-ads


【解决方案1】:

首先在你的 xml 中设置可见性

<com.google.android.gms.ads.NativeExpressAdView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/moreView"
    android:id="@+id/natvie_ad"
    ads:adSize="300x80"
    ads:adUnitId="adUnitID"
    android:layout_centerHorizontal="true"
    android:visibility="gone"
    />

然后在你的 java 代码中设置一个像这样的 AdListener

NativeExpressAdView nativeView =
        (NativeExpressAdView) findViewById(R.id.natvie_ad);
nativeView.loadAd(new AdRequest.Builder().addTestDevice("testDeviceID").build());

nativeView.setAdListener(new AdListener() {

        @Override
        public void onAdLoaded() {
            adView.setVisibility(View.VISIBLE);
        }

        @Override
        public void onAdFailedToLoad(int error) {
            adView.setVisibility(View.GONE);
        }

    });

希望对你有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 2016-07-29
    • 2011-12-12
    • 2018-03-26
    相关资源
    最近更新 更多