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

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

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

ऐसेट कंट्रोल

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

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

GADMediaAspectRatio की मदद से, GADNativeAdMediaAdLoaderOptions mediaAspectRatio को सेट करें.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

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

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

BOOL वैल्यू के साथ GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages सेट करें.
  • इमेज पेलोड कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

AdChoices प्लेसमेंट

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

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

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

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {

    ...

    
    GADAdChoicesView *customAdChoicesView =
        [[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];

    [nativeAdView addSubview:customAdChoicesView];
    nativeAdView.adChoicesView = customAdChoicesView;

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
    refreshAdButton.isEnabled = true

    ...
    // Define a custom position for the AdChoices icon.
    let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
    let customAdChoicesView = GADAdChoicesView(frame: customRect)
    nativeAdView.addSubview(customAdChoicesView)
    nativeAdView.adChoicesView = customAdChoicesView

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

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

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd*)nativeAd {

  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  BOOL canShowCustomControls = videoController.customControlsEnabled;

}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
        let videoController = nativeAd.mediaContent.videoController
        let canShowCustomControls = videoController?.customControlsEnabled() == true
}

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

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

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

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

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

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

  • कस्टम क्लिक जेस्चर डिफ़ॉल्ट रूप से अक्षम होता है.

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

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

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

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

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
        initWithAdUnitID:@"/21775744923/example/native"
      rootViewController:self
                 adTypes:@[ GADAdLoaderAdTypeNative ]
                 options:@[ swipeGestureOptions ]];

स्वाइप करने पर मिलने वाले हाथ के जेस्चर (हाव-भाव) वाले इवेंट सुनें

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

#pragma mark - GADNativeAdDelegate implementation

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

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

मीडिएशन

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