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

प्लैटफ़ॉर्म चुनें: Android iOS

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

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

ऐसेट कंट्रोल

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

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

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

GADMediaAspectRatio का इस्तेमाल करके GADNativeAdMediaAdLoaderOptions mediaAspectRatio सेट करें.

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

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

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

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

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

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

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

BOOL वैल्यू के साथ GADNativeAdImageAdLoaderOptions disableImageLoading सेट करें.

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

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

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

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

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

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

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

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

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

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

AdChoices प्लेसमेंट

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

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

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

GADAdChoicesPosition वैल्यू के साथ GADNativeAdViewAdOptions preferredAdChoicesPosition सेट करें.

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

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

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

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

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

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

रेंडर करने से पहले, GADNativeAd.adChoicesView प्रॉपर्टी को GADAdChoicesView के साथ सेट करें. साथ ही, AdChoices कॉन्टेंट को GADAdChoicesView के अंदर रेंडर करें.

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

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // Define a custom position for the AdChoices icon.
  let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
  let customAdChoicesView = AdChoicesView(frame: customRect)
  nativeAdView.addSubview(customAdChoicesView)
  nativeAdView.adChoicesView = customAdChoicesView
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

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

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

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

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

BOOL वैल्यू के साथ GADVideoOptions startMuted सेट करें.

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

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

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

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

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

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

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

BOOL वैल्यू के साथ GADVideoOptions customControlsRequested सेट करें.

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

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

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

GADVideoController.

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

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

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

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

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

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

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

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

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

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

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

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

  • इस सुविधा के बंद होने पर, सिर्फ़ टैप को क्लिक के तौर पर गिना जाएगा.

  • इस सुविधा को चालू करने पर, स्वाइप जेस्चर को क्लिक के तौर पर गिना जाएगा. साथ ही, यह तय किया जा सकता है कि टैप को अब भी क्लिक के तौर पर गिना जाए या नहीं.

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

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

स्वाइप करने के जेस्चर वाले इवेंट को मॉनिटर करने की अनुमति

स्वाइप जेस्चर क्लिक रिकॉर्ड होने पर, Google Mobile Ads SDK, मौजूदा nativeAdDidRecordClick: डेलिगेट तरीके के साथ-साथ, GADNativeAdDelegate पर nativeAdDidRecordSwipeGestureClick: डेलिगेट तरीके को लागू करता है.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

मीडिएशन

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