2013-07-29 5 views
6

मैं वर्तमान में अपने एंड्रॉइड गेम में एडमोब को एकीकृत कर रहा हूं।एंड्रॉइड पर एडमोब बैनर आकार

मुझे स्मार्ट बैनर को मेरे framelayout- आधारित लेआउट में एकीकृत करने में कठिनाइयां हैं, क्योंकि वे विभिन्न उपकरणों पर स्क्रीन रीयल एस्टेट की अलग-अलग मात्रा लेते हैं।

उदाहरण के लिए, यदि मैं अपने एसर ए 500 (एमडीपीआई 1280x800) पर एक स्मार्ट बैनर प्रदर्शित करता हूं, तो मुझे आकार 1280x90px में से एक मिलता है, जबकि मेरे नेक्सस 7 पर, मुझे 1279x66px (TVDPI 1280x800) और गैलेक्सी नेक्सस पर एक मिलता है (एचडीपीआई 1280x720) 1196x64px के साथ।

AdMob प्रलेखन के अनुसार, कि समझ में आता व्यवहार हो सकता है, यह देखते हुए कि दस्तावेज में दिए गए मान डीपी हैं: ऊंचाई के साथ एक smartbanner के बाद से, https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

हालांकि, इस व्यवहार मेरे लिए एक बड़ी समस्या है एक 1200x800px एमडीपीआई स्क्रीन पर 90 पीएक्स की एक एचडीपीआई स्क्रीन पर 64px की ऊंचाई के साथ एक स्मार्ट बैनर की तुलना में बहुत अधिक स्क्रीन रीयल एस्टेट लेता है (नीचे स्क्रीनशॉट देखें)।

तो, यहां मेरे प्रश्न हैं: - कम से कम एक स्मार्ट बैनर के लिए मुझे कितनी जगह आरक्षित करनी चाहिए? - क्या किसी ने कुछ ऐसा करने की कोशिश की है, और आप इससे कैसे निपटते हैं?

नोट: दुर्भाग्य से, फ़्रेमेलआउट के लिए अलग-अलग लेआउट का उपयोग इस समय एक विकल्प नहीं है। इसके अतिरिक्त, विज्ञापनों को एकीकृत करने के लिए एक्सएमएल लेआउट का उपयोग नहीं किया जा सकता है।

शुभकामनाओं सहित,

लोरेन्ज

स्क्रीनशॉट:

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

+0

http://imgur.com/qGAk77Y,dK3buz2,Gg1hvyu#2 (नेक्सस 7) http://imgur.com/qGAk77Y,dK3buz2,Gg1hvyu#1 (Galaxy Nexus) - माफ करना, पर्याप्त नहीं प्रतिनिधि सभी लिंक पोस्ट करने के लिए – lorenz

उत्तर

0
  1. पिक्सल के संदर्भ में मत सोचो। डीपी (घनत्व स्वतंत्र पिक्सेल) के संदर्भ में सोचें
  2. सबसे बड़ी जगह आरक्षित करें। एक युक्त लेआउट का उपयोग करके 90pd द्वारा 1280 डीपी और अपने एडव्यू को अंदर एम्बेडेड करें।
1

अपने लेआउट एक एक्सएमएल में परिभाषित किया जाता है, तो आप स्क्रीन आकार (लेआउट-xlarge/mylayout.xml, लेआउट-बड़े/mylayout.xml, लेआउट सामान्य/mylayout.xml, आदि प्रति एक लेआउट बना सकते हैं ..)

अधिक यहाँ जानकारी: क्योंकि, एक 10.1 "गोली एक मध्यम घनत्व है, लेकिन एक 4.3" एक 480x850 संकल्प के साथ फोन एक उच्च घनत्व होगा http://developer.android.com/guide/practices/screens_support.html

, घनत्व में न देखें। इसके बजाय स्क्रीन आकार का उपयोग करें (बड़े सामान्य छोटे xlarge)।

आप इसे प्रोग्रामैटिक रूप से ऐसा करने की जरूरत है, तो आप इस के साथ स्क्रीन आकार प्राप्त कर सकते हैं:

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

और तुलना करने के लिए, Configuration.SCREENLAYOUT_xxx का उपयोग करें।

संबंधित मुद्दे