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

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

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

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

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

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

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

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

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

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

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

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

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

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

यहां दिए गए उदाहरण में, विज्ञापन का साइज़ सेट किया गया है, विज्ञापन दिखाने का अनुरोध बनाया गया है, और विज्ञापन लोड किया गया है:

Kotlin

private fun loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()

  // Step 2 - Load the ad.
  BannerAd.load(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        // Assign the loaded ad to the BannerAd object.
        bannerAd = ad
        // Step 3 - Call BannerAd.getView() to get the View and add it
        // to view hierarchy on the UI thread.
        activity?.runOnUiThread {
          binding.bannerViewContainer.addView(ad.getView(requireActivity()))
        }
      }

      override fun onAdFailedToLoad(loadAdError: LoadAdError) {
        bannerAd = null
      }
    }
  )
}

Java

private void loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
      adSize).build();

  // Step 2 - Load the ad.
  BannerAd.load(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          // Assign the loaded ad to the BannerAd object.
          bannerAd = ad;
          // Step 3 - Call BannerAd.getView() to get the View and add it
          // to view hierarchy on the UI thread.
          if (getActivity() != null) {
            getActivity()
                .runOnUiThread(() ->
                    binding.bannerViewContainer.addView(ad.getView(getActivity())));
          }
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          bannerAd = null;
        }
      });
}

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

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

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

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

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

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