बैनर विज्ञापन

बैनर विज्ञापन, आयताकार विज्ञापन होते हैं. ये ऐप्लिकेशन के लेआउट का कुछ हिस्सा घेरते हैं. जब उपयोगकर्ता आपके ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब स्क्रीन पर सबसे ऊपर या सबसे नीचे बैनर विज्ञापन दिखते रहते हैं. इसी तरह स्क्रीन पर स्क्रोल करने के दौरान भी ये विज्ञापन इनलाइन होकर दिखते रहते हैं. बैनर विज्ञापन कुछ समय बाद अपने-आप रीफ़्रेश हो सकते हैं. ज़्यादा जानकारी के लिए, बैनर विज्ञापनों के बारे में खास जानकारी देखें.

इस गाइड में, ऐंकर किए गए अडैप्टिव बैनर विज्ञापनों का इस्तेमाल शुरू करने का तरीका बताया गया है. ये विज्ञापन, आपके तय किए गए विज्ञापन की चौड़ाई का इस्तेमाल करके, हर डिवाइस के लिए विज्ञापन के साइज़ को ऑप्टिमाइज़ करके परफ़ॉर्मेंस को बेहतर बनाते हैं.

ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापन, तय आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाले विज्ञापन होते हैं, न कि सामान्य तय साइज़ वाले विज्ञापनों. आसपेक्ट रेशियो, इंडस्ट्री स्टैंडर्ड 320x50 से मिलता-जुलता है. उपलब्ध पूरी चौड़ाई तय करने के बाद, आपको उस चौड़ाई के लिए विज्ञापन की सबसे सही ऊंचाई दिखेगी. एक ही डिवाइस से किए गए अनुरोधों के लिए, सबसे सही ऊंचाई में कोई बदलाव नहीं होता. साथ ही, विज्ञापन रीफ़्रेश होने पर, आस-पास के व्यू को दूसरी जगह ले जाने की ज़रूरत नहीं होती.

ज़रूरी शर्तें

हमेशा टेस्ट विज्ञापनों की मदद से जांच करें

अपने ऐप्लिकेशन बनाते और टेस्ट करते समय, लाइव और प्रोडक्शन विज्ञापनों के बजाय, टेस्ट विज्ञापनों का इस्तेमाल करें. ऐसा न करने पर, आपके खाते को निलंबित किया जा सकता है.

टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, Android बैनर के लिए बने हमारे टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:

ca-app-pub-3940256099942544/9214589741

इसे खास तौर पर, हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल किया जा सकता है. बस, ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट आईडी से बदल लें.

Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापन लेख पढ़ें.

लेआउट में AdView जोड़ें

बैनर दिखाने के लिए, सबसे पहले अपने ऐप्लिकेशन के लेआउट में AdView को डालें:

Java

// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(getAdSize());

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

विज्ञापन लोड करना

AdView लागू होने के बाद, अगला चरण विज्ञापन लोड करना है. ऐसा करने के लिए, AdView क्लास में loadAd() तरीका इस्तेमाल करें. इसमें AdRequest पैरामीटर की ज़रूरत होती है, जिसमें किसी एक विज्ञापन अनुरोध के बारे में टारगेटिंग की जानकारी जैसी रनटाइम की जानकारी होती है.

यहां एक उदाहरण दिया गया है, जिसमें विज्ञापन लोड करने का तरीका बताया गया है:

Java

// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

अगर विज्ञापन लोड नहीं होता है, तो आपको साफ़ तौर पर किसी दूसरे विज्ञापन का अनुरोध करने की ज़रूरत नहीं है. ऐसा तब तक नहीं करना होगा, जब तक आपने अपनी विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया हो. Google Mobile Ads SDK, AdMob वेब इंटरफ़ेस में बताए गए किसी भी रीफ़्रेश रेट का पालन करता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो आपको नया अनुरोध जारी करना होगा.

हो गया! आपका ऐप्लिकेशन अब बैनर विज्ञापन दिखाने के लिए तैयार है.

विज्ञापन इवेंट

विज्ञापन के लाइफ़साइकल में कई इवेंट को ट्रिगर किया जा सकता है. जैसे, विज्ञापन लोड होने, विज्ञापन इंप्रेशन, क्लिक, विज्ञापन खुलने, और बंद होने के इवेंट. हमारा सुझाव है कि बैनर लोड करने से पहले, कॉलबैक को सेट करें.

Java

adView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

adView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

AdListener में ओवरराइड किया जा सकने वाला हर तरीका, विज्ञापन के लाइफ़साइकल में होने वाले किसी इवेंट से मेल खाता है.

बदले जा सकने वाले तरीके
onAdClicked() onAdClicked() तरीका तब लागू होता है, जब किसी विज्ञापन पर क्लिक रिकॉर्ड किया जाता है.
onAdClosed() onAdClosed() तरीका तब चालू होता है, जब कोई उपयोगकर्ता विज्ञापन के डेस्टिनेशन यूआरएल को देखने के बाद ऐप्लिकेशन पर वापस आता है. आपका ऐप्लिकेशन, निलंबित की गई गतिविधियों को फिर से शुरू करने के लिए इसका इस्तेमाल कर सकता है. इसके अलावा, इंटरैक्शन के लिए तैयार होने के लिए कोई भी ज़रूरी काम कर सकता है. Android एपीआई के डेमो ऐप्लिकेशन में विज्ञापन लिसनर के तरीकों को लागू करने के लिए, AdMob AdListener का उदाहरण देखें.
onAdFailedToLoad() सिर्फ़ onAdFailedToLoad() तरीके में पैरामीटर शामिल होता है. LoadAdError टाइप का गड़बड़ी पैरामीटर बताता है कि कौनसी गड़बड़ी हुई. ज़्यादा जानकारी के लिए, विज्ञापन लोड करने से जुड़ी गड़बड़ियों को डीबग करने से जुड़ा दस्तावेज़ देखें.
onAdImpression() onAdImpression() तरीका तब शुरू किया जाता है, जब किसी विज्ञापन के लिए इंप्रेशन रिकॉर्ड किया जाता है.
onAdLoaded() विज्ञापन लोड होने के बाद, onAdLoaded() तरीका लागू किया जाता है. उदाहरण के लिए, अगर आपको अपनी गतिविधि या फ़्रैगमेंट में AdView को जोड़ने से रोकना है, तो इसकी जानकारी यहां दी जा सकती है.
onAdOpened() onAdOpened() तरीका तब लागू होता है, जब कोई विज्ञापन स्क्रीन को कवर करने वाला ओवरले खोलता है.

वीडियो विज्ञापनों के लिए हार्डवेयर से तेज़ी लाएं

वीडियो विज्ञापनों को बैनर विज्ञापन व्यू में सही से दिखाने के लिए, हार्डवेयर से तेज़ी लाएं की सुविधा चालू होनी चाहिए.

हार्डवेयर की मदद से तेज़ी लाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. हालांकि, कुछ ऐप्लिकेशन इसे बंद कर सकते हैं. अगर यह शर्त आपके ऐप्लिकेशन पर लागू होती है, तो हमारा सुझाव है कि विज्ञापनों का इस्तेमाल करने वाली Activity क्लास के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू करें.

हार्डवेयर से तेज़ी लाने की सुविधा चालू करना

अगर आपका ऐप्लिकेशन, हार्डवेयर एक्सेलेरेशन की सुविधा को पूरी तरह से चालू करने पर ठीक से काम नहीं करता है, तो इसे अलग-अलग गतिविधियों के लिए भी कंट्रोल किया जा सकता है. हार्डवेयर से तेज़ी लाने की सुविधा को चालू या बंद करने के लिए, AndroidManifest.xml में <application> और <activity> एलिमेंट के लिए android:hardwareAccelerated एट्रिब्यूट का इस्तेमाल किया जा सकता है. नीचे दिए गए उदाहरण में, पूरे ऐप्लिकेशन के लिए हार्डवेयर ऐक्सेलरेशन चालू किया गया है, लेकिन एक गतिविधि के लिए इसे बंद किया गया है:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

हार्डवेयर से तेज़ी लाने की सुविधा को कंट्रोल करने के विकल्पों के बारे में ज़्यादा जानकारी के लिए, हार्डवेयर से तेज़ी लाने की सुविधा के बारे में गाइड देखें. ध्यान दें कि अगर गतिविधि बंद है, तो अलग-अलग विज्ञापन व्यू के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू नहीं की जा सकती. इसलिए, गतिविधि के लिए हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.

अन्य संसाधन

GitHub पर मौजूद उदाहरण

  • ऐंकर किए गए अडैप्टिव बैनर विज्ञापनों का उदाहरण: Java | Kotlin
  • बेहतर सुविधाओं का डेमो: Java | Kotlin

अगले चरण

छोटे किए जा सकने वाले बैनर

छोटे किए जा सकने वाले बैनर विज्ञापन, बैनर विज्ञापन होते हैं. शुरुआत में, इन्हें बड़े ओवरले के तौर पर दिखाया जाता है. साथ ही, इनमें विज्ञापन को छोटे साइज़ में करने के लिए बटन भी होता है. अपनी परफ़ॉर्मेंस को और ऑप्टिमाइज़ करने के लिए, इसका इस्तेमाल करें. ज़्यादा जानकारी के लिए, छोटे हो जाने वाले बैनर विज्ञापन देखें.

इनलाइन अडैप्टिव बैनर

ऐंकर किए गए अडैप्टिव बैनर की तुलना में, इनलाइन अडैप्टिव बैनर बड़े और लंबे होते हैं. इनकी लंबाई कम या ज़्यादा की जा सकती है. साथ ही, ये डिवाइस की स्क्रीन जितने लंबे भी हो सकते हैं. उन ऐप्लिकेशन के लिए, जो ऐप्लिकेशन स्क्रोल किए जा सकने वाले कॉन्टेंट में बैनर विज्ञापन दिखाते हैं, ऐंकर वाले अडैप्टिव बैनर वाले विज्ञापनों के बजाय, इनलाइन अडैप्टिव बैनर का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए, इनलाइन अडैप्टिव बैनर देखें.

दूसरे विषय एक्सप्लोर करें