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

प्लैटफ़ॉर्म चुनें: Android iOS Android (लेगसी)

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

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

ऐसेट कंट्रोल

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

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

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

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 को अपनी विज्ञापन यूनिट के आईडी से बदलें.

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

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

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

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

  • बंद होने पर, Google Mobile Ads 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 ]];

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

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

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

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

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

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

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 आइकॉन को किस कोने में रेंडर करना है.

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

  • अगर इसे सेट नहीं किया जाता है, तो 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;
}

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

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

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

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

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

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

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

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

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

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 ]];

पसंद के मुताबिक बनाए गए प्लेबैक कंट्रोल

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

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

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

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

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

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, GADNativeAdDelegate पर nativeAdDidRecordSwipeGestureClick: डेलिगेट तरीके को शुरू करता है. इसके अलावा, यह मौजूदा nativeAdDidRecordClick: डेलिगेट तरीके को भी शुरू करता है.

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