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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

इस गाइड मेंAdMob से Android ऐप्लिकेशन में बैनर विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों के अलावा, इसमें बैनर को सही साइज़ देने और दूसरे संसाधनों के लिंक के बारे में जानकारी भी दी गई है.

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

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

बैनर दिखाने के लिए, सबसे पहले आपको Activity या Fragment के लेआउट में AdView डालना होगा. सबसे आसान तरीका है, संबंधित एक्सएमएल लेआउट फ़ाइल में एक साइटमैप जोड़ना. यहां एक गतिविधि का AdView दिखाया गया है:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

नीचे दिए गए ज़रूरी एट्रिब्यूट पर ध्यान दें:

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

आप चाहें, तो प्रोग्राम बनाकर AdView प्रोग्राम बना सकते हैं:

Java

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

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

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

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

ca-app-pub-3940256099942544/6300978111

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

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

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

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

यहां एक Activity की onCreate() प्रक्रिया में विज्ञापन लोड करने का तरीका बताया गया है:

मुख्य गतिविधि (खास जानकारी)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

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

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

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

AdView के साथ AdListener का इस्तेमाल करने के लिए, setAdListener() तरीके पर कॉल करें:

Java

mAdView.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

mAdView.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 API डेमो ऐप्लिकेशन में, विज्ञापन सुनने वाले के तरीकों को लागू करने के लिए, AdMob AdListener का उदाहरण देखें.
onAdFailedToLoad() onAdFailedToLoad() सिर्फ़ एक तरीका है जिसमें पैरामीटर शामिल होता है. LoadAdError प्रकार के गड़बड़ी पैरामीटर से पता चलता है कि क्या गड़बड़ी हुई. ज़्यादा जानकारी के लिए, विज्ञापन लोड करने से जुड़ी गड़बड़ियों का दस्तावेज़ देखना.
onAdImpression() किसी विज्ञापन के लिए इंप्रेशन रिकॉर्ड होने पर onAdImpression() तरीका शुरू किया जाता है.
onAdLoaded() onAdLoaded() एक्ज़ीक्यूशन तब लागू होता है, जब कोई विज्ञापन लोड हो जाता है. अगर आपको अपनी गतिविधि या फ़्रैगमेंट में AdView तब तक नहीं जोड़ना है, जब तक आप यह पक्का न कर लें कि कोई विज्ञापन लोड होगा. उदाहरण के लिए, यहां ऐसा करें.
onAdOpened() onAdOpened() तरीका तब शुरू किया जाता है, जब कोई विज्ञापन स्क्रीन को कवर करता है.

नीचे दी गई टेबल में स्टैंडर्ड बैनर साइज़ दिए गए हैं.

dp में साइज़ (WxH) जानकारी उपलब्धता AdSize कॉन्सटेंट
320x50 बैनर फ़ोन और टेबलेट BANNER
320x100 बड़ा बैनर फ़ोन और टेबलेट LARGE_BANNER
300x250 IAB मध्यम आयत फ़ोन और टेबलेट MEDIUM_RECTANGLE
468x60 IAB का फ़ुल-साइज़ बैनर टैबलेट FULL_BANNER
728x90 IAB लीडरबोर्ड टैबलेट LEADERBOARD
दी गई चौड़ाई x अडैप्टिव ऊंचाई अडैप्टिव बैनर फ़ोन और टेबलेट लागू नहीं
स्क्रीन की चौड़ाई x 32|50|90 स्मार्ट बैनर फ़ोन और टेबलेट SMART_BANNER
अडैप्टिव बैनर की जगह, अडैप्टिव बैनर के बारे में ज़्यादा जानें.

पसंद के मुताबिक बैनर का साइज़ तय करने के लिए, अपनी पसंद के मुताबिक AdSize सेट करें, जैसा कि यहां दिखाया गया है:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

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

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

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

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

अगर आपका ऐप्लिकेशन दुनिया भर में हार्डवेयर से तेज़ी लाने की सुविधा के साथ ठीक से काम नहीं करता है, तो आप इसे हर गतिविधि के लिए अलग-अलग भी कंट्रोल कर सकते हैं. हार्डवेयर ऐक्सेलरेशन को चालू या बंद करने के लिए, आप अपने 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>

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

अन्य संसाधन

GitHub पर उदाहरण

  • बैनर विज्ञापनों का उदाहरण: Java | Kotlin

  • बेहतर सुविधाओं का डेमो: Java | Kotlin

  • 'RecyclerView सैंपल' ऐप्लिकेशन: Java

मोबाइल विज्ञापन गैराज वीडियो ट्यूटोरियल

सफलता की कहानियां