2011-06-16 26 views
9

ben düzen yapısına sahip kaybolur. Daha sonra, adMob boyutuyla boş siyah bölge görebiliyorum.Boş alan

GÜNCELLEME: my ekran görüntüsü: normalde enter image description here

Burada reklam bloklarından bkz cas ama onFailedToReceiveAd (Reklam isteği başarılı, ancak bunların hiç reklam nedeniyle reklam envanterinin olmaması döndü.) Almak için reklam disappers ve ne zaman benim düzen tüm ekranı doldurmaz.

+0

siz "AdMob kayboldu" derken neyi kastediyorsunuz? Ne zaman ortadan kayboluyor? – kabuko

+0

Düzen, ilk kez admob'un gösterildiği iyi bir befor gibi görünüyor. Reklam gösterildiğinde tüm öğeler aşağı kaydırıldı, ancak yine de istediğim gibi görünüyor. Ancak reklam kaybolduğunda, düzenim kaydırılmıyor (orijinal duruma). –

+1

Ekran görüntüsü gönderir misiniz? Bunu söylemeliyim ki, bu ayın admob'u sorun yaşıyordu. Ve bu görsel etkiyle biraz. – davidcesarino

cevap

5

Anlattıklarınız garip görünüyor ... Bir reklamın kaybolmasına neden olduğuna inandığım neden bir reklamın yenilenmesi ve AdMob tarafında reklam eksikliğinden dolayı reklam sunulmamasıydı. Ancak, kendi testimden sonra, bir reklam yüklendikten sonra, bir sonraki reklam yenilemesi başarısız olursa, önceki reklam kalıyorsa, reklamların 'kaybolduğunu' görmedim.

Belki de logcat'e bakabilir ve orada herhangi bir hata olup olmadığını görebilirsiniz.

Kendi uygulamamda Reklam İsteği gönderim/hatası test etmek için kullandığım bazı kodlar. durumda boşlukları bir Reklam yükleme başarısız sonra, sana düzeni kaldırmak için Adview

AdView av = (AdView)findViewById(R.id.adView); 

     // Set AdListener 
     av.setAdListener(new AdListener() { 
      AdView av = (AdView)findViewById(R.id.adView); 
      @Override 
      public void onFailedToReceiveAd(Ad ad, ErrorCode error) { 
       System.err.println("Ad failed: " + ad.toString() + error.toString()); 
       av.setVisibility(AdView.GONE);//By setting visibility to GONE, you hide the AdView, but the AdView won't refresh automaticaly anymore. 

      } 

      @Override 
      public void onReceiveAd(Ad ad) { 
       System.out.println("Ad received: " + ad.toString()); 
       av.setVisibility(AdView.VISIBLE); 
      } 
     }); 

     // Create an ad request. 
     AdRequest adRequest = new AdRequest(); 

     // Start loading the ad in the background. 
     av.loadAd(adRequest); 
+0

Son güncellemeniz düşüncelerimi doğrular, AdMob'un yayınlanacak reklamı olmadığı için bir Reklam hatası elde edersiniz. AdMob SDK'sının hangi sürümünü kullanıyorsunuz (4.1.0 kullanıyorum)? Merak ettim çünkü uygulamada davranış farklı görünüyor, reklam yenilemede bir hata aldığımda, boş bir alan yerine, önceki reklam Ekranda kalıyor. Artık, AdMob'un yayınlanması için yeterli reklam bulunmadığından fazla bir şey yapamayacağınız, yeni bir reklam isteğini zorlamak, AdView'ı gizlemeye ve onReceiveAd'da tekrar göstermeye çalışmak veya bir ev reklamını doldurmak için onFailedToReceiveAd'ın içine biraz kod ekleyebilirsiniz. boşluk. – Smugrik

+0

Hata durumunda AdView'i gizlemek için bazı kodları ekledim, buradaki dezavantaj "setVisibility (GONE)" ile gizlendiğinde, AdView artık kendini yenilemediğinden, bir "AdView" el kitabını kullanmalısınız.loadAd (istek) 'bir noktada. 'LoadAd' başarılı olduğunda, 'onReceiveAd' içindeki "setVisibility (VISIBLE)" değeri, AdView'ı tekrar gösterecektir. Bundan sonra, AdMob ayarlarına göre yenilenecektir. – Smugrik

2

Sadece onaylamak için adView'iniz bu yükseklik parametresi mi?

android:layout_height="wrap_content" 
+0

Evet, tabiki. –

+0

Bu, AdMob'u kurarken düzende mutlak bir boyutta xml veya kodda olmadığınızdan emin olmanızdır. – PravinCG

2

uygulamanızı hedef AdMob'da kendi 'kurum reklamı' kurmak olacaktır bu bakmak için başka bir yol. Daha sonra, AdMob'un yayınlanacak bir reklamı olmadığı zaman, kendi reklamınızı 'boşluğu doldur' olarak gösterir.

+0

İyi fikir! Bu çözümü düşüneceğim. –

İlgili konular