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

प्लैटफ़ॉर्म चुनें: 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) तरीके का इस्तेमाल करें.