Google Mobile Ads SDK (Legacy), विज्ञापन के तय साइज़ के साथ काम करता है. ऐसा उन स्थितियों में होता है जब अडैप्टिव बैनर विज्ञापन आपकी ज़रूरतों को पूरा नहीं करते.
यहां दी गई टेबल में, स्टैंडर्ड बैनर साइज़ की सूची दी गई है.
| डीपी में साइज़ (चौड़ाई x ऊंचाई) | ब्यौरा | उपलब्धता | AdSize कॉन्स्टेंट |
|---|---|---|---|
| 320x50 | बैनर | फ़ोन और टैबलेट | BANNER |
| 320x100 | बड़ा बैनर | फ़ोन और टैबलेट | LARGE_BANNER |
| 300x250 | IAB मीडियम रेक्टैंगल | फ़ोन और टैबलेट | MEDIUM_RECTANGLE |
| 468x60 | IAB का फ़ुल साइज़ बैनर | टैबलेट | FULL_BANNER |
| 728x90 | IAB लीडरबोर्ड | टैबलेट | LEADERBOARD |
जिस कंटेनर में विज्ञापन दिखाया जाता है उसका साइज़, बैनर के साइज़ के बराबर या उससे बड़ा होना चाहिए. पैडिंग जोड़ने से, कंटेनर का साइज़ कम हो जाता है. अगर कंटेनर में बैनर विज्ञापन नहीं दिखता है, तो विज्ञापन नहीं दिखाया जाता है. साथ ही, यह चेतावनी लॉग की जाती है:
W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.
विज्ञापन का साइज़, डिवाइस की स्क्रीन के साइज़ से छोटा या उसके बराबर सेट करें.
स्क्रीन का ज़्यादा से ज़्यादा साइज़ तय करने के लिए, Resources.getDisplayMetrics
तरीके का इस्तेमाल करें. AdSize ऑब्जेक्ट के डाइमेंशन, डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल करते हैं. तुलना करते समय, स्क्रीन के साइज़ को पिक्सल से डीपी में बदलें.
साइज़ से जुड़ी पाबंदियों के बारे में ज़्यादा जानने के लिए, Ad Manager में अनफ़िल्ड इंप्रेशन से जुड़ी समस्या हल करना लेख पढ़ें.
लेआउट में AdManagerAdView जोड़ना
AdManagerAdView को प्रोग्राम के हिसाब से बनाने के बजाय, AdManagerAdView को उस Activity या Fragment के लिए XML लेआउट में जोड़ें जिसमें आपको इसे दिखाना है. यहां एक उदाहरण दिया गया है:
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner_ad_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="/21775744923/example/fixed-size-banner" />
इन ज़रूरी एट्रिब्यूट पर ध्यान दें:
ads:adSize: इसे उस विज्ञापन साइज़ पर सेट करें जिसका आपको इस्तेमाल करना है. अगर आपको कॉन्स्टेंट से तय किए गए स्टैंडर्ड साइज़ का इस्तेमाल नहीं करना है, तो इसके बजाय कस्टम साइज़ सेट किया जा सकता है. उदाहरण:ads:adSize="320x50".ads:adUnitId: इसे अपने ऐप्लिकेशन में मौजूद उस विज्ञापन यूनिट पर सेट करें जहां विज्ञापन दिखाने हैं. अगर अलग-अलग गतिविधियों में बैनर विज्ञापन दिखाए जाते हैं, तो हर गतिविधि के लिए एक विज्ञापन यूनिट की ज़रूरत होगी.
विज्ञापन का कस्टम साइज़
अगर आपके पास Ad Manager के रिज़र्वेशन वाले लाइन आइटम हैं और वे कस्टम साइज़ को टारगेट कर रहे हैं, तो आपके पास
कस्टम चौड़ाई और ऊंचाई वाला AdSize बनाने का विकल्प है. यह आपके लाइन आइटम से मेल खाना चाहिए.
Java
AdSize customAdSize = new AdSize(250, 250);
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(customAdSize);
Kotlin
val customAdSize = AdSize(250, 250)
val adView = AdManagerAdView(this)
adView.setAdSizes(customAdSize)
एक से ज़्यादा साइज़ के विज्ञापन
अगर आपको एक ही विज्ञापन दिखाने के अनुरोध में, अलग-अलग साइज़ के विज्ञापनों के लाइन आइटम टारगेट करने हैं, तो AdManagerAdView की मदद से, एक साथ कई विज्ञापन साइज़ सेट किए जा सकते हैं.
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));
Kotlin
val adView = AdManagerAdView(this)
adView.setAdSizes(AdSize.BANNER, AdSize(120, 20), AdSize(250, 250))
AdManagerAdView की वैल्यू डिफ़ॉल्ट रूप से, विज्ञापन के पहले साइज़ पर सेट होती है. विज्ञापन लोड होने के बाद, AdManagerAdView का साइज़, लोड किए गए विज्ञापन के साइज़ में बदल जाता है. आपका लेआउट, नए साइज़ के हिसाब से
अपने-आप अडजस्ट हो जाना चाहिए.
अपनी एक्सएमएल लेआउट फ़ाइल में ads:adSizes एट्रिब्यूट का इस्तेमाल करके, विज्ञापन के कई साइज़ भी तय किए जा सकते हैं:
<com.google.android.gms.ads.admanager.AdManagerAdView
android:id="@+id/multiple_ad_sizes_view"
android:layout_width="wrap_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSizes="BANNER,120x20,250x250"
ads:adUnitId="AD_UNIT_ID" />