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

प्लैटफ़ॉर्म चुनें: 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()));

विज्ञापन का साइज़, डिवाइस की स्क्रीन के साइज़ से कम या उसके बराबर सेट करें. ज़्यादा से ज़्यादा स्क्रीन साइज़ तय करने के लिए, Resources.getDisplayMetrics तरीके का इस्तेमाल करें. AdSize ऑब्जेक्ट के डाइमेंशन, डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल करते हैं. तुलना करते समय, स्क्रीन के साइज़ को पिक्सल से डीपी में बदलें. साइज़ से जुड़ी पाबंदियों के बारे में जानने के लिए, Ad Manager में, विज्ञापन न दिखाए जाने की वजह से मिले इंप्रेशन की समस्या हल करना लेख पढ़ें.

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

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

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

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

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

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