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

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

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

एसेट कंट्रोल

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

मीडिया पक्ष अनुपात नियंत्रण की मदद से आप विज्ञापन क्रिएटिव.

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

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

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

इस उदाहरण में, SDK टूल को निर्देश दिया गया है कि वह आसपेक्ट रेशियो या चौड़ाई-ऊंचाई का अनुपात तय करें.

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

NativeAdOptions.Builder.setReturnUrlsForImageAssets() पर कॉल करें boolean वैल्यू के साथ.
  • इमेज डाउनलोड करने का कंट्रोल, डिफ़ॉल्ट रूप से बंद होता है.

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

  • इसे चालू करने पर, SDK टूल सिर्फ़ यूआरआई का डेटा जनरेट करता है, ताकि आप अपने विवेक से वास्तविक इमेज नहीं देख पाएंगे.

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

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

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

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

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

NativeAdOptions.Builder.setRequestMultipleImages() पर कॉल करें boolean वैल्यू के साथ.
  • इमेज पेलोड कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

AdChoices प्लेसमेंट

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

AdChoices कस्टम व्यू

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

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

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


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

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

म्यूट करने की कार्रवाई शुरू करें

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

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

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

Java

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

Kotlin

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

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

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

NativeAdOptions.Builder.enableCustomClickGestureDirection() पर कॉल करें NativeAdOptions.SwipeGestureDirection के साथ और boolean से पता चलता है कि आप टैप को क्लिक के रूप में अनुमति देना चाहते हैं या नहीं.

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

  • इस सुविधा के बंद होने पर, आपके ऐप्लिकेशन पर क्लिक करने की सामान्य सुविधा काम करेगी.

  • इसके चालू होने पर, आपके ऐप्लिकेशन में पसंद के मुताबिक स्वाइप करने वाले जेस्चर काम करेंगे.

इस उदाहरण में, दाईं ओर कस्टम स्वाइप जेस्चर को लागू किया गया है और सामान्य टैब व्यवहार को बनाए रखता है.

NativeAdOptions adOptions = new NativeAdOptions
    .Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
            /* tapsAllowed= */ true)
    .build();

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

स्वाइप जेस्चर इवेंट के लिए सुनना

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

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 टूल की ज़रूरत रेंडर होने के लिए, कस्टम क्लिक दिशा-निर्देशों की सेटिंग का जवाब न दें.