स्क्रोल करने वाले बैनर के लिए, इनलाइन अडैप्टिव बैनर का इस्तेमाल करना

प्लैटफ़ॉर्म चुनें: Android iOS Flutter Android (लेगसी)

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

इस गाइड में, इनलाइन अडैप्टिव बैनर बनाने और बैनर का साइज़ सेट करने का तरीका बताया गया है.

नीचे दी गई इमेज में, स्क्रोल किए जा सकने वाले कॉन्टेंट में इनलाइन अडैप्टिव बैनर दिखाए गए हैं:

अडैप्टिव और इनलाइन अडैप्टिव बैनर के बीच के अंतर को दिखाने वाला डायग्राम

शुरू करने से पहले

जारी रखने से पहले, पक्का करें कि आपने बैनर विज्ञापन सेट अप कर लिए हों.

इनलाइन अडैप्टिव बैनर का पूरा उदाहरण देखने के लिए, यहां दिया गया सैंपल ऐप्लिकेशन डाउनलोड करें:

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

इनलाइन अडैप्टिव बैनर लागू करने के लिए, विज्ञापन का साइज़ सेट करें, विज्ञापन दिखाने का अनुरोध बनाएं, और विज्ञापन लोड करें.

इनलाइन अडैप्टिव बैनर का साइज़ तय करने के लिए, विज्ञापन की चौड़ाई तय करें. इसके लिए, आम तौर पर ये तरीके अपनाए जाते हैं:

  • पूरी स्क्रीन की चौड़ाई का इस्तेमाल करना.
  • विज्ञापन वाले पैरंट लेआउट की चौड़ाई का इस्तेमाल करना.
  • डिवाइस के सेफ़ एरिया के हिसाब से चौड़ाई को अडजस्ट करना.

विज्ञापन के साइज़ का ऑब्जेक्ट बनाते समय, चौड़ाई के इस हिसाब का इस्तेमाल करें.

यह तरीका अपनाएं:

  1. अपने डिवाइस की चौड़ाई पाएं या कोई चौड़ाई सेट करें:

    Kotlin

    private val adWidth: Int
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        return (adWidthPixels / density).toInt()
      }
    

    Java

    public int getAdWidth() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      return (int) (adWidthPixels / density);
    }
    
  2. इनलाइन अडैप्टिव विज्ञापन के साइज़ का ऑब्जेक्ट पाने के लिए, विज्ञापन के साइज़ की क्लास पर स्टैटिक तरीके का इस्तेमाल करें:

    Kotlin

    val adView = AdView(this@MainActivity)
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))

    Java

    final AdView adView = new AdView(MainActivity.this);
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));

अगर आपको अडैप्टिव बैनर का इस्तेमाल करने के लिए, लाइन आइटम अपडेट या बनाने हैं, तो अडैप्टिव बैनर के लिए लाइन आइटम सेट अप करना लेख पढ़ें.

इनलाइन अडैप्टिव बैनर का लेआउट सेट करना

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

अगर आपका ऐप्लिकेशन, पोर्ट्रेट और लैंडस्केप व्यू, दोनों के साथ काम करता है और आपको मौजूदा लेआउट में अडैप्टिव बैनर विज्ञापन को पहले से लोड करना है, तो AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) तरीके का इस्तेमाल करें. इस तरीके से, मौजूदा लेआउट में विज्ञापन लोड होता है.

इनलाइन अडैप्टिव बैनर की ऊंचाई सीमित करना

डिफ़ॉल्ट रूप से, maxHeight वैल्यू के बिना बनाए गए इनलाइन अडैप्टिव बैनर की ज़्यादा से ज़्यादा ऊंचाई, डिवाइस की ऊंचाई के बराबर होती है. इनलाइन अडैप्टिव बैनर की ऊंचाई सीमित करने के लिए, AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) तरीके का इस्तेमाल करें.