2016-09-12 3 views
0

Если я простой:Невозможно установить видимость NativeExpressAdView Унесенных

  nativeAd = (NativeExpressAdView) mActivity.findViewById(R.id.adView); 
      nativeAd.loadAd(new AdRequest.Builder().build()); 

Я вижу родное объявление. Но если добавить nativeAd.setVisibility(LinearLayout.GONE); и после нажатия кнопки я nativeAd.setVisibility(LinearLayout.VISIBLE); я получаю в LogCat два предупреждения:

  Received error HTTP response code: 403 
      There was a problem getting an ad response. ErrorCode: 0 

Что я сделал не так? Я не добавлю, чтобы появляться на том же экране, только если пользователь нажимает кнопку в другом действии.

ответ

0

Если это кому-то интересно - просто разместите собственное объявление в макете и сделайте макет GONE.

0

Поместите NativeExpressAdView внутри LinearLayout, например:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
android:id="@+id/llad" 
android:visibility="invisible" 
android:layout_height="wrap_content" 
android:layout_width="match_parent"> 
<com.google.android.gms.ads.NativeExpressAdView 
    android:id="@+id/ad_View" 
    android:layout_gravity="center|top" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    ads:adUnitId="ca-app-pub-your_id" 
    ads:adSize="FULL_WIDTHx80"> 
</com.google.android.gms.ads.NativeExpressAdView> 
</LinearLayout> 

в классе:

 View view = LayoutInflater.from(context).inflate(R.layout.adese, parent, false); 
     final NativeExpressAdView adView = (NativeExpressAdView) view.findViewById(R.id.ad_View); 
     final LinearLayout lld = (LinearLayout)view.findViewById(R.id.llad); 
     adView.setVisibility(View.GONE); 
     lld.setVisibility(View.GONE); 
     AdRequest request = new AdRequest.Builder() 
       .addTestDevice("your_device_number") 
       .build(); 
     adView.loadAd(request); 
     adView.setAdListener(new AdListener() { 
      @Override 
      public void onAdLoaded() { 
       super.onAdLoaded(); 
       adView.setVisibility(View.VISIBLE); 
       lld.setVisibility(View.VISIBLE); 
      } 
     }); 

работает таким образом для меня!

Смежные вопросы