नेटिव स्टाइल तय करना

प्लैटफ़ॉर्म चुनें: Android नई सुविधा Android iOS Flutter

नेटिव स्टाइल की सेटिंग की मदद से, Google Ad Manager आपके नेटिव विज्ञापनों को रेंडर कर सकता है. इसके लिए, वह प्रॉडक्ट में बताई गई नेटिव स्टाइल का इस्तेमाल करता है. सबसे पहले, साइज़ और टारगेटिंग तय करें. इसके बाद, एचटीएमएल, सीएसएस, और JavaScript जोड़ें. इससे ऐसे विज्ञापन तय किए जा सकते हैं जो रिस्पॉन्सिव हों और सभी स्क्रीन पर अच्छी क्वालिटी में दिखें. आपको रेंडरिंग करने की ज़रूरत नहीं है. Ad Manager, डेस्टिनेशन के लिए सही नेटिव स्टाइल अपने-आप लागू करता है. नेटिव स्टाइल को बैनर विज्ञापनों की तरह ही लागू किया जाता है. इसके लिए, GAMBannerView का इस्तेमाल किया जाता है. इनका इस्तेमाल, पहले से तय किए गए तय साइज़ वाले विज्ञापन या रनटाइम में तय किए गए फ़्लूइड साइज़ वाले विज्ञापन के साथ किया जा सकता है.

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

  • Google Mobile Ads SDK का वर्शन 7.14.0 या इसके बाद का वर्शन

हम उम्मीद करते हैं कि आपको Google Mobile Ads SDK के बारे में थोड़ी जानकारी होगी. अगर आपने अब तक ऐसा नहीं किया है, तो हमारा सुझाव है कि आप शुरू करने के लिए हमारा गाइड पढ़ें.

तय साइज़

तय साइज़ वाली नेटिव स्टाइल की मदद से, नेटिव विज्ञापन की चौड़ाई और ऊंचाई को कंट्रोल किया जा सकता है. तय साइज़ सेट करने के लिए, यह तरीका अपनाएं:

  1. Ad Manager के यूज़र इंटरफ़ेस (यूआई) में एक लाइन आइटम बनाएं और Size फ़ील्ड के ड्रॉपडाउन से, पहले से तय किए गए साइज़ में से कोई एक चुनें.

  2. इंटरफ़ेस बिल्डर में, GAMBannerView की चौड़ाई और ऊंचाई को पहले चरण में चुने गए पहले से तय साइज़ के हिसाब से सेट करें. बैनर के साइज़ वाले सेक्शन में, साइज़ की सूची और उनसे जुड़े GADAdSize कॉन्स्टैंट देखे जा सकते हैं.

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

फ़्लूइड साइज़

कुछ मामलों में, तय साइज़ काम का नहीं हो सकता. उदाहरण के लिए, हो सकता है कि आपको विज्ञापन की चौड़ाई, अपने ऐप्लिकेशन के कॉन्टेंट के हिसाब से चाहिए हो. हालांकि, आपको विज्ञापन के कॉन्टेंट के हिसाब से, उसकी ऊंचाई को डाइनैमिक तरीके से अडजस्ट करना हो. इस मामले में, Ad Manager के यूज़र इंटरफ़ेस (यूआई) में, विज्ञापन के साइज़ के तौर पर Fluid तय किया जा सकता है. इससे यह तय होता है कि ऐप्लिकेशन में विज्ञापन का साइज़, रनटाइम में तय किया जाता है. एसडीके, इस मामले को हैंडल करने के लिए, एक खास GADAdSize कॉन्स्टैंट, kGADAdSizeFluid, उपलब्ध कराता है. फ़्लूइड विज्ञापन के साइज़ की ऊंचाई, पब्लिशर की तय की गई चौड़ाई के हिसाब से डाइनैमिक तरीके से तय की जाती है. इससे GAMBannerView, क्रिएटिव के हिसाब से अपनी ऊंचाई को अडजस्ट कर पाता है.

फ़्लूइड अनुरोध

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

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

एक साइज़ और एक से ज़्यादा साइज़ के फ़्लूइड अनुरोध करने का तरीका काफ़ी मिलता-जुलता है. इनमें सिर्फ़ यह अंतर है कि एक से ज़्यादा साइज़ के अनुरोध के लिए, आपको validAdSizes प्रॉपर्टी सेट करनी होती है. इससे, विज्ञापन के अनुरोध के लिए मान्य विज्ञापन के साइज़ तय किए जाते हैं:

Swift

bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

यहां बताया गया है कि कोड में, पूरा तरीका कैसा दिखता है:

Swift

var bannerView: AdManagerBannerView!

override func viewDidLoad() {
super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = AdManagerBannerView(adSize: AdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(AdManagerRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

Ad Manager के फ़्लूइड विज्ञापन के साइज़ को लागू करने का उदाहरण देखने के लिए, iOS API डेमो ऐप्लिकेशन को Swift या Objective-C में डाउनलोड करें.

एपीआई डेमो डाउनलोड करें

GADAdSizeDelegate प्रोटोकॉल

हो सकता है कि आपको विज्ञापन के साइज़ में बदलाव होने से पहले, बैनर की ऊंचाई के बारे में जानना हो. adView:willChangeAdSizeTo: कॉलबैक, बैनर व्यू के नए GADAdSize में बदलने से पहले, अपने डेलिगेट को सूचना देता है. बैनर व्यू के नए विज्ञापन के साइज़ में बदलने से पहले सूचना पाने के लिए, आपकी क्लास को GADAdSizeDelegate प्रोटोकॉल के मुताबिक होना चाहिए.

adView:willChangeAdSizeTo: कॉलबैक को लागू करने का एक सैंपल यहां दिया गया है. इससे पता चलता है कि बैनर की नई चौड़ाई और ऊंचाई कैसे पाई जाती है:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}