2013-07-29 8 views
6

Şu anda AdMob'u Android oyunuma entegre ediyorum.Android AdMob Banner Boyutları

Akıllı banner'ları framelayout tabanlı mizanpaja entegre etmekte zorluk çekiyorum çünkü farklı aygıtlarda farklı miktarlarda ekran emlak kullanıyorlar. Benim Acer A500 (MDPI 1280x800) üzerinde akıllı başlık görüntülemek eğer benim Nexus 7'de, ben 1279x66px (tvdpi 1280x800) ile ve benim Galaxy Nexus üzerinde birini alırsınız oysa

Örneğin, ben, büyüklük 1280x90px birini alırsınız (HDPI 1280x720) 1196x64 piksel ile. yüksekliğe sahip bir smartbanner beri https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

Ancak bu davranış benim için büyük bir sorundur: AdMob belgelerine göre

, o belgelerde verilen değerler dp olduğunu göz önünde bulundurarak, anlaşılabilir davranış olabilir Bir 1200x800px MDPI ekranda 90px bir HDPI ekranda 64px bir yüksekliğe sahip akıllı bir banner daha çok ekran gayrimenkul alır (Bkz. aşağıdaki ekran görüntüleri).

İşte benim sorularım: - En azından akıllı bir afiş için ne kadar yer ayırmalıyım? - Benzer bir şey deneyen var mıydı ve bununla nasıl başa çıktın?

Not: Maalesef, framelayout'tan farklı bir düzen kullanmak şu anda bir seçenek değil. Ayrıca, XML düzenleri, reklamları entegre etmek için kullanılamaz.

Saygılarımızla,

Lorenz

Ekran:

http://imgur.com/qGAk77Y (A500)

+0

http://imgur.com/qGAk77Y,dK3buz2,Gg1hvyu#2 (Nexus 7) http://imgur.com/qGAk77Y,dK3buz2,Gg1hvyu#1 (Galaxy Nexus) - üzgünüm, yeterli değil rep tüm bağlantıları yayınlamak için – lorenz

cevap

0
  1. px açısından düşünmeyin. Dp (yoğunluk bağımsız piksel) cinsinden düşünün
  2. En geniş alanı ayırın. İçeren bir Layout kullanarak 90pd tarafından 1280dp ve AdView'in içine gömülü.
1

senin düzeni xml tanımlamak ise, vb ekran boyutu (düzen-xlarge/mylayout.xml, düzen-large/mylayout.xml, düzen normal/mylayout.xml, başına bir düzen oluşturabilirsiniz ..) burada

diğer bilgiler: bir 10.1" tablet orta yoğunluğa sahiptir, ancak bir 4.3" a 480x850 çözünürlüğe sahip telefon, yüksek yoğunluğa sahip olacaktır çünkü

http://developer.android.com/guide/practices/screens_support.html, yoğunluk bakma. Ekran boyutunu kullan (xlarge büyük normal küçük). programlama yoluyla bunu yapmak gerekirse

, bununla ekran boyutu alabilirsiniz:

Configuration config = activity.getResources().getConfiguration(); 
int screenlayout = config.screenLayout; 

ve karşılaştırmak için, Configuration.SCREENLAYOUT_xxx kullanın.