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

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

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

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

ऐसेट कंट्रोल

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

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

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

GADNativeAdMediaAdLoaderOptions mediaAspectRatio को GADMediaAspectRatio के साथ सेट करें.

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

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

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

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

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

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

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

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

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

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

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