2016-10-20 19 views
0

То, что я пытаюсь достичь, - это скрыть мое объявление, если оно не загружено из-за интернета или нет объявления с сервера.Скрыть собственный AdView, если он не загружен

MainActivity.java

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

Layout

<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" 

     /> 
+1

Так что вы пробовали? –

ответ

2

сначала установить видимость пошел в вашем 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); 
     } 

    }); 

Я надеюсь, что помощь :)