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

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

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

ऐसेट कंट्रोल

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

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

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           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:@"ca-app-pub-3940256099942544/3986624511"
      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 Mobile Ads SDK रेंडर करता है. ऐसे विज्ञापन स्रोत जिन्हें रेंडर करने के लिए तीसरे पक्ष के SDK टूल की ज़रूरत होती है, कस्टम क्लिक निर्देश सेटिंग का जवाब नहीं देते.