कस्टम-रेंडर किए गए नेटिव विज्ञापन और बैनर विज्ञापन अनुरोधों को मिलाना

अपने कोड में कुछ बदलाव करके, विज्ञापन अनुरोधों में नेटिव और बैनर विज्ञापनों को जोड़ा जा सकता है.

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

  • Google Mobile Ads SDK टूल का 11.0.0 या उसके बाद का वर्शन.
  • शुरू करें को पूरा करें.

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

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

AdLoader ऑब्जेक्ट को विज्ञापन अनुरोध करने के लिए भी कॉन्फ़िगर किया जा सकता है. इन अनुरोधों से, बैनर विज्ञापन या नेटिव विज्ञापन दिख सकता है. AdLoader बनाते समय, उसमें OnAdManagerAdViewLoadedListener जोड़ने से यह तय होता है कि अनुरोध को पूरा करने के लिए, बैनर विज्ञापनों को नेटिव विज्ञापनों से मुकाबला करना चाहिए.

नीचे दिए गए कोड में, AdLoader बनाने का तरीका बताया गया है. इससे एक ही अनुरोध में नेटिव या बैनर विज्ञापन लोड किया जा सकता है:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, and so on.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

ऊपर दिया गया forAdManagerAdView() तरीका, AdLoader को बैनर विज्ञापन पाने के लिए तैयार करता है. forAdManagerAdView() को लागू करते समय, OnAdManagerAdViewLoadedListener के साथ विज्ञापन के मान्य साइज़ की वैरिएबल-लेंथ वाली सूची दी जानी चाहिए.

मान्य विज्ञापन अनुरोध करने के लिए, कम से कम एक मान्य विज्ञापन साइज़ तय करना ज़रूरी है. जब कोई बैनर विज्ञापन लोड हो जाता है, तो तय किए गए लिसनर ऑब्जेक्ट के onAdManagerAdViewLoaded() मेथड को कॉल किया जाता है.

AdViewOptions सेट करना

ऊपर दिए गए AdLoader फ़ंक्शन में शामिल आखिरी फ़ंक्शन, withAdManagerAdViewOptions() एक और वैकल्पिक तरीका है:

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

AdManagerAdViewOptions ऑब्जेक्ट की मदद से, पब्लिशर AdLoader से लोड किए गए बैनर के लिए खास विकल्प सेट कर सकते हैं. जैसे:

setManualImpressionsEnabled()
Google Ad Manager के ज़रिए किए गए बुकिंग के लिए, मैन्युअल इंप्रेशन रिपोर्टिंग की सुविधा चालू करता है. मैन्युअल इंप्रेशन का इस्तेमाल करने वाले ऐप्लिकेशन, यह तय कर सकते हैं कि इंप्रेशन कब रिकॉर्ड किया जाना चाहिए. इसके लिए, वे AdManagerAdView.recordManualImpression() को कॉल कर सकते हैं.