बैनर विज्ञापन, ऐप्लिकेशन के लेआउट में किसी जगह पर दिखते हैं. ये डिवाइस की स्क्रीन पर सबसे ऊपर या सबसे नीचे दिखते हैं. जब उपयोगकर्ता आपके ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब स्क्रीन पर बैनर विज्ञापन दिखते रहते हैं. साथ ही, ये विज्ञापन कुछ समय बाद अपने-आप रीफ़्रेश हो सकते हैं.
इस गाइड में, ऐंकर किए गए अडैप्टिव बैनर विज्ञापनों के बारे में बताया गया है. ऐंकर किए गए अडैप्टिव बैनर, हर डिवाइस के लिए विज्ञापन के साइज़ को ऑप्टिमाइज़ करते हैं. इसके लिए, वे विज्ञापन की आपकी तय की गई चौड़ाई का इस्तेमाल करते हैं.
ऐंकर किए गए अडैप्टिव बैनर विज्ञापन, तय साइज़ के विज्ञापनों के बजाय, तय आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाले विज्ञापन होते हैं. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात), 320x50 के जैसा होता है. पूरी चौड़ाई की जानकारी देने के बाद, Google Mobile Ads Flutter Plugin उस चौड़ाई के लिए सही ऊंचाई वाला विज्ञापन दिखाता है. विज्ञापन की सबसे सही ऊंचाई, अलग-अलग विज्ञापन दिखाने के अनुरोधों के लिए एक जैसी रहती है. साथ ही, विज्ञापन के आस-पास का कॉन्टेंट, विज्ञापन के रीफ़्रेश होने पर अपनी जगह पर बना रहता है.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, बैनर विज्ञापनों के लिए हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
Android
ca-app-pub-3940256099942544/9214589741
iOS
ca-app-pub-3940256099942544/2435281174
टेस्ट विज्ञापन यूनिट को इस तरह कॉन्फ़िगर किया जाता है कि हर अनुरोध के लिए टेस्ट विज्ञापन दिखाए जा सकें. कोडिंग, टेस्टिंग, और डीबग करने के दौरान, इनका इस्तेमाल अपने ऐप्लिकेशन में किया जा सकता है. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, इन्हें अपने विज्ञापन यूनिट के आईडी से बदल लें.
विज्ञापन का साइज़ पाना
बड़े अडैप्टिव बैनर, स्क्रोल न किए जा सकने वाले लेआउट के लिए डिज़ाइन किए गए बड़े फ़ॉर्मैट उपलब्ध कराते हैं. स्टैंडर्ड ऐंकर किए गए अडैप्टिव बैनर की तुलना में, इन बैनर की ऊंचाई ज़्यादा हो सकती है. यह स्क्रीन की ऊंचाई का 20% तक हो सकती है. हालांकि, यह 50 से 150 डीपी के बीच होनी चाहिए. यह बढ़ा हुआ स्पेस, वीडियो वाले कॉन्टेंट के लिए ऑप्टिमाइज़ किया गया है.
विज्ञापन के सही साइज़ वाला बैनर विज्ञापन पाने का अनुरोध करने के लिए, यह तरीका अपनाएं:
MediaQuery.of(context)का इस्तेमाल करके, डिवाइस की स्क्रीन की चौड़ाई को डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) में पाएं. अगर आपको स्क्रीन की पूरी चौड़ाई का इस्तेमाल नहीं करना है, तो अपनी पसंद के मुताबिक चौड़ाई सेट की जा सकती है.AdSizeऑब्जेक्ट पाने के लिए,AdSizeक्लास पर सही स्टैटिक तरीके का इस्तेमाल करें. उदाहरण के लिए, मौजूदा ओरिएंटेशन के लिए विज्ञापन का साइज़ पाने के लिए,AdSize.getLargeAnchoredAdaptiveBannerAdSize(int width)का इस्तेमाल करें.
// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate(),
);
विज्ञापन लोड करना
यहां दिए गए उदाहरण में, बैनर विज्ञापन लोड करने का तरीका बताया गया है:
_adUnitId को अपनी विज्ञापन यूनिट के आईडी से बदलें.
बैनर विज्ञापन इवेंट
BannerAdListener का इस्तेमाल करके, लाइफ़साइकल इवेंट के बारे में सुना जा सकता है. जैसे, विज्ञापन कब लोड हुआ. इस उदाहरण में, हर तरीके को लागू किया गया है और कंसोल में एक मैसेज लॉग किया गया है:
onAdOpened: (Ad ad) {
// Called when an ad opens an overlay that covers the screen.
debugPrint('Ad was opened.');
},
onAdClosed: (Ad ad) {
// Called when an ad removes an overlay that covers the screen.
debugPrint('Ad was closed.');
},
onAdImpression: (Ad ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (Ad ad) {
// Called when a click event occurs on the ad.
debugPrint('Ad was clicked.');
},
onAdWillDismissScreen: (Ad ad) {
// iOS only. Called before dismissing a full screen view.
debugPrint('Ad will be dismissed.');
},
विज्ञापन रीफ़्रेश करना
अगर आपने विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया है, तो विज्ञापन लोड न होने पर आपको दूसरे विज्ञापन का अनुरोध करने की ज़रूरत नहीं है. Google Mobile Ads Flutter Plugin, AdMob के यूज़र इंटरफ़ेस (यूआई) में तय की गई रीफ़्रेश दर का पालन करता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो नया अनुरोध करें. विज्ञापन यूनिट के रीफ़्रेश होने के बारे में ज़्यादा जानकारी के लिए, जैसे कि रीफ़्रेश रेट सेट करना, यह लेख पढ़ें: बैनर विज्ञापनों के लिए, अपने-आप रीफ़्रेश होने की सुविधा का इस्तेमाल करना.
बैनर विज्ञापन दिखाना
BannerAd को विजेट के तौर पर दिखाने के लिए, आपको load() को कॉल करने के बाद, काम करने वाले विज्ञापन के साथ AdWidget को इंस्टैंशिएट करना होगा. load() को कॉल करने से पहले, विजेट बनाया जा सकता है. हालांकि, विजेट ट्री में विजेट जोड़ने से पहले, load() को कॉल करना ज़रूरी है.
AdWidget, Flutter की Widget क्लास से इनहेरिट होता है. इसका इस्तेमाल किसी भी दूसरे विजेट की तरह किया जा सकता है. iOS पर, पक्का करें कि आपने विजेट को ऐसे विजेट में रखा हो जिसकी चौड़ाई और लंबाई तय की गई हो. ऐसा न करने पर, हो सकता है कि आपका विज्ञापन न दिखाया जाए. BannerAd को ऐसे कंटेनर में रखा जा सकता है जिसका साइज़ विज्ञापन से मेल खाता हो:
if (_bannerAd != null)
Align(
alignment: Alignment.bottomCenter,
child: SafeArea(
child: SizedBox(
width: _bannerAd!.size.width.toDouble(),
height: _bannerAd!.size.height.toDouble(),
child: AdWidget(ad: _bannerAd!),
),
),
),
जब विज्ञापन की ज़रूरत न हो, तो उसे डिस्पोज़ करना ज़रूरी है. dispose() को कॉल करने का सबसे सही तरीका यह है कि AdWidget को विजेट ट्री से हटाए जाने के बाद या BannerAdListener.onAdFailedToLoad() कॉलबैक में इसे कॉल किया जाए.
हो गया! अब आपका ऐप्लिकेशन, बैनर विज्ञापन दिखाने के लिए तैयार है.
Android 9 और इससे पहले के वर्शन पर स्क्रोल करने की सीमा
हमें पता है कि Android 9 या इससे पहले के वर्शन पर काम करने वाले कुछ पुराने या कम पावर वाले डिवाइसों पर, स्क्रोल करने वाले व्यू में इनलाइन बैनर विज्ञापन दिखाने पर परफ़ॉर्मेंस अच्छी नहीं मिलती. हमारा सुझाव है कि इस तरह के बैनर सिर्फ़ Android 10 या इसके बाद के वर्शन पर इस्तेमाल करें. ऐंकर किए गए बैनर जैसे तय पोज़िशन वाले बैनर पर कोई असर नहीं पड़ता. साथ ही, इन्हें सभी Android एपीआई लेवल पर बेहतर परफ़ॉर्मेंस के साथ इस्तेमाल किया जा सकता है.
GitHub पर पूरा उदाहरण
पूरा उदाहरण देखने के लिए, एपीआई डेमो देखें.
अन्य तरह के बैनर के बारे में जानकारी
अपने Flutter ऐप्लिकेशन के लिए, इस सेक्शन में बताए गए अन्य तरह के बैनर के बारे में जानें.
इनलाइन अडैप्टिव बैनर
इनलाइन अडैप्टिव बैनर की ऊंचाई अलग-अलग होती है. साथ ही, ये ऐंकर किए गए अडैप्टिव बैनर की तुलना में बड़े और लंबे होते हैं. स्क्रोल किए जा सकने वाले कॉन्टेंट में बैनर विज्ञापन दिखाने वाले ऐप्लिकेशन के लिए, ऐंकर किए गए अडैप्टिव बैनर विज्ञापनों के बजाय इनलाइन अडैप्टिव बैनर इस्तेमाल करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए, इनलाइन अडैप्टिव बैनर देखें.
छोटे हो जाने वाले बैनर विज्ञापन
छोटे हो जाने वाले बैनर विज्ञापन, ऐसे बैनर विज्ञापन होते हैं जो शुरुआत में बड़े ओवरले के तौर पर दिखते हैं. इनमें एक बटन होता है, जिसकी मदद से विज्ञापन को छोटे साइज़ पर वापस लाया जा सकता है. अपनी परफ़ॉर्मेंस को और बेहतर बनाने के लिए, इस बैनर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, छोटे हो जाने वाले बैनर विज्ञापन देखें.