स्थानीय स्टाइल

नेटिव स्टाइल सेटिंग की मदद से 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 को विज्ञापन साइज़ के तौर पर बताया जा सकता है. इससे पता चलता है कि ऐप्लिकेशन में रनटाइम के दौरान विज्ञापन का साइज़ तय किया जाता है. इस मामले को मैनेज करने के लिए, SDK टूल एक खास GADAdSize कॉन्सटेंट kGADAdSizeFluid उपलब्ध कराता है. फ़्लूइड विज्ञापन साइज़ की ऊंचाई, पब्लिशर की तय की गई चौड़ाई के आधार पर डाइनैमिक तौर पर तय की जाती है. इससे GAMBannerView, क्रिएटिव की ऊंचाई से मेल खाने के लिए अपनी ऊंचाई में बदलाव कर सकता है.

पानी भरने का अनुरोध

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

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

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

Swift

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

Objective-C

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

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

Swift

var bannerView: GAMBannerView!

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 = GAMBannerView(adSize: kGADAdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  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.load(GAMRequest())
}

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 Fluid विज्ञापन साइज़ को लागू करने का एक उदाहरण देखने के लिए, Swift या Objective-C में iOS API डेमो ऐप्लिकेशन डाउनलोड करें.

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

GADAdSizeele प्रोटोकॉल

किसी बैनर के विज्ञापन का साइज़ बदलने से पहले उसकी ऊंचाई के बारे में जानें. बैनर व्यू के नए GADAdSize में बदलने से पहले, adView:willChangeAdSizeTo: कॉलबैक अपने प्रतिनिधि को इसकी सूचना देता है. बैनर व्यू में नए विज्ञापन साइज़ में बदलाव होने से पहले सूचना पाने के लिए, आपकी क्लास 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: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
  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;
}