नेटिव विज्ञापन के विकल्प

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

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

ऐसेट कंट्रोल

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

इमेज डाउनलोड करने की सुविधा

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

AdChoices प्लेसमेंट

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

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

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


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

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

म्यूट करने की सुविधा चालू करना

वीडियो शुरू होने पर म्यूट होने की सुविधा की मदद से, वीडियो के शुरू होने पर ऑडियो को म्यूट या अनम्यूट किया जा सकता है.

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(adOptions).build();

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

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

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

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

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

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

VideoController.

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(adOptions).build();

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

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

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

Java

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

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

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

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

क्लिक करने के लिए कस्टम जेस्चर

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

स्वाइप जेस्चर इवेंट को सुनना

जब स्वाइप जेस्चर क्लिक रिकॉर्ड किया जाता है, तो Google Mobile Ads SDK, AdListener पर मौजूदा onAdClicked() तरीके के साथ-साथ onAdSwipeGestureClicked() तरीका भी इस्तेमाल करता है.

AdLoader adLoader = builder
    .withAdListener(
      new AdListener() {
        // Called when a swipe gesture click is recorded.
        @Override
        public void onAdSwipeGestureClicked() {
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      })
    .build();

मीडिएशन

कस्टम क्लिक जेस्चर सिर्फ़ उन नेटिव विज्ञापनों पर काम करते हैं जिन्हें Google Mobile Ads SDK रेंडर करता है. ऐसे विज्ञापन स्रोत जिन्हें रेंडर करने के लिए तीसरे पक्ष के SDK टूल की ज़रूरत होती है, कस्टम क्लिक निर्देश सेटिंग का जवाब नहीं देते.