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

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

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

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

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

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

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

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

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner")
    .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, "/6499/example/nativeandbanner")
    .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() को कॉल करके ऐसा कर सकते हैं.