ऐडवांस नेटिव सुविधाएं सेट करना

प्लैटफ़ॉर्म चुनें: Android (बीटा) नई सुविधा Android iOS

नेटिव विज्ञापनों में कई ऐडवांस सुविधाएं होती हैं. इनकी मदद से, विज्ञापन को अपनी ज़रूरत के हिसाब से बनाया जा सकता है और विज्ञापन का बेहतर अनुभव दिया जा सकता है. इस गाइड में, नेटिव विज्ञापनों की ऐडवांस सुविधाओं का इस्तेमाल करने का तरीका बताया गया है.

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

ऐसेट कंट्रोल

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

मीडिया के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के कंट्रोल

मीडिया के आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) के कंट्रोल की मदद से, विज्ञापन क्रिएटिव के आसपेक्ट रेशियो के लिए प्राथमिकता तय की जा सकती है.

NativeAdOptions.MediaAspectRatio वैल्यू के साथ NativeAdOptions.Builder.setMediaAspectRatio() को कॉल करें.

  • अगर इसे सेट नहीं किया जाता है, तो दिखाए गए विज्ञापन का मीडिया आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) कोई भी हो सकता है.

  • इस सेटिंग को चालू करने पर, आपको पहलू के अनुपात का पसंदीदा टाइप तय करने का विकल्प मिलेगा. इससे उपयोगकर्ता अनुभव को बेहतर बनाया जा सकेगा.

यहां दिए गए उदाहरण में, एसडीके को किसी खास आसपेक्ट रेशियो वाली इमेज या वीडियो को प्राथमिकता देने का निर्देश दिया गया है.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AD_UNIT_ID की जगह अपना विज्ञापन यूनिट आईडी डालें.

इमेज डाउनलोड करने का कंट्रोल

इमेज डाउनलोड करने के कंट्रोल की मदद से, यह तय किया जा सकता है कि एसडीके, इमेज ऐसेट या सिर्फ़ यूआरआई दिखाए.

boolean वैल्यू के साथ, NativeAdOptions.Builder.setReturnUrlsForImageAssets() को कॉल करें.

  • इमेज डाउनलोड करने के कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.

  • इस सुविधा के बंद होने पर, Google Mobile Ads SDK आपके लिए इमेज और यूआरआई, दोनों को भरता है.

  • इस सुविधा के चालू होने पर, एसडीके सिर्फ़ यूआरआई भरता है. इससे आपको अपनी पसंद के हिसाब से असली इमेज डाउनलोड करने की अनुमति मिलती है.

यहां दिए गए उदाहरण में, एसडीके को सिर्फ़ यूआरआई वापस भेजने का निर्देश दिया गया है.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

इमेज पेलोड कंट्रोल

कुछ विज्ञापनों में सिर्फ़ एक इमेज के बजाय, इमेज की एक सीरीज़ होती है. इस सुविधा का इस्तेमाल करके, यह बताएं कि आपका ऐप्लिकेशन सभी इमेज दिखाने के लिए तैयार है या सिर्फ़ एक इमेज दिखाने के लिए.

boolean वैल्यू के साथ, NativeAdOptions.Builder.setRequestMultipleImages() को कॉल करें.

  • इमेज पेलोड कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.

  • इस सुविधा के बंद होने पर, आपका ऐप्लिकेशन एसडीके को यह निर्देश देता है कि वह किसी भी ऐसी ऐसेट के लिए सिर्फ़ पहली इमेज उपलब्ध कराए जिसमें एक सीरीज़ शामिल हो.

  • इस सुविधा को चालू करने पर, आपका ऐप्लिकेशन यह दिखाता है कि वह एक से ज़्यादा इमेज वाली सभी ऐसेट के लिए, सभी इमेज दिखाने के लिए तैयार है.

यहां दिए गए उदाहरण में, एसडीके को एक से ज़्यादा इमेज ऐसेट दिखाने का निर्देश दिया गया है.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AdChoices प्लेसमेंट

इस सेक्शन में, AdChoices ओवरले को सही जगह पर रखने का तरीका बताया गया है. आपके पास इसे चार कोनों में से किसी एक पर रखने या कस्टम व्यू में रेंडर करने का विकल्प होता है.

AdChoices की पोज़िशन कंट्रोल करने की सुविधा

AdChoices आइकॉन की जगह तय करने वाले कंट्रोल की मदद से, यह चुना जा सकता है कि AdChoices आइकॉन को किस कोने में रेंडर करना है.

NativeAdOption.AdChoicesPlacement वैल्यू के साथ NativeAdOptions.Builder.setAdChoicesPlacement() को कॉल करें.

  • अगर इसे सेट नहीं किया जाता है, तो AdChoices आइकॉन की पोज़िशन सबसे ऊपर दाईं ओर सेट हो जाती है.

  • अगर सेट किया गया है, तो AdChoices को अनुरोध के मुताबिक कस्टम पोज़िशन पर रखा जाता है.

यहां दिए गए उदाहरण में, AdChoices इमेज की पोज़िशन को पसंद के मुताबिक सेट करने का तरीका बताया गया है.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AdChoices का कस्टम व्यू

AdChoices के कस्टम व्यू की सुविधा की मदद से, AdChoices आइकॉन को अपनी पसंद की जगह पर रखा जा सकता है. यह AdChoices की पोज़िशन कंट्रोल करने की सुविधा से अलग है. इस सुविधा में, सिर्फ़ चार कोनों में से किसी एक को चुनने की अनुमति होती है.

AdChoicesView वैल्यू के साथ NativeAdView.setAdChoicesView() को कॉल करें.

यहां दिए गए उदाहरण में, AdChoices की कस्टम व्यू सेट करने का तरीका बताया गया है. इसमें AdChoices आइकॉन को AdChoicesView में रेंडर किया जाता है.

Java

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

वीडियो के कंट्रोल

इस सेक्शन में, वीडियो विज्ञापनों के लिए वीडियो चलाने के अनुभव को पसंद के मुताबिक बनाने का तरीका बताया गया है. आपके पास, वीडियो के शुरू होने पर उसे म्यूट करने की स्थिति सेट करने का विकल्प होता है. साथ ही, वीडियो चलाने के लिए अपनी पसंद के कंट्रोल लागू किए जा सकते हैं.

म्यूट करने की सुविधा शुरू होने पर उपयोगकर्ता का व्यवहार

'शुरू होने पर म्यूट' सेटिंग की मदद से, वीडियो के शुरू होने पर ऑडियो को बंद या चालू किया जा सकता है.

boolean वैल्यू के साथ, VideoOptions.Builder.setStartMuted() को कॉल करें.

  • वीडियो को डिफ़ॉल्ट रूप से म्यूट करके रखने की सुविधा चालू रहती है.

  • इसे बंद करने पर, आपका ऐप्लिकेशन अनुरोध करता है कि वीडियो ऑडियो के साथ शुरू होना चाहिए.

  • इस सुविधा के चालू होने पर, आपका ऐप्लिकेशन यह अनुरोध करता है कि वीडियो, ऑडियो म्यूट करके शुरू किया जाए.

यहां दिए गए उदाहरण में, वीडियो को अनम्यूट करके चलाने का तरीका बताया गया है.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

कस्टम प्लेबैक कंट्रोल

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

boolean वैल्यू के साथ, VideoOptions.Builder.setCustomControlsRequested() को कॉल करें.

  • कस्टम प्लेबैक कंट्रोल की सुविधा डिफ़ॉल्ट रूप से बंद होती है.

  • इसे बंद करने पर, आपके वीडियो में SDK टूल से रेंडर किए गए इनपुट कंट्रोल दिखेंगे.

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

VideoController.

यहां दिए गए उदाहरण में, कस्टम प्लेबैक कंट्रोल वाले वीडियो का अनुरोध करने का तरीका बताया गया है.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

देखें कि कस्टम कंट्रोल चालू हैं या नहीं

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

Java

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

कस्टम वीडियो कंट्रोल रेंडर करना

इन सबसे सही तरीकों का इस्तेमाल करके, वीडियो के लिए कस्टम कंट्रोल रेंडर करें:

  1. कस्टम कंट्रोल व्यू को नेटिव विज्ञापन व्यू के चाइल्ड के तौर पर रेंडर करें. इस तरीके से, ओपन मेज़रमेंट की मदद से व्यूएबिलिटी का हिसाब लगाते समय, कस्टम कंट्रोल को एक सामान्य रुकावट के तौर पर माना जाता है.
  2. पूरे मीडिया व्यू पर, न दिखने वाला ओवरले रेंडर करने से बचें. ओवरले, मीडिया व्यू पर क्लिक करने से रोकते हैं. इससे नेटिव विज्ञापनों की परफ़ॉर्मेंस पर बुरा असर पड़ता है. इसके बजाय, एक छोटा ओवरले बनाएं, जो कंट्रोल को फ़िट करने के लिए काफ़ी हो.