बैनर विज्ञापन, आयताकार विज्ञापन होते हैं. ये ऐप्लिकेशन के लेआउट का कुछ हिस्सा घेरते हैं. वे जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट कर रहे हों, तब स्क्रीन पर बने रहते हैं. उनका जुड़ाव स्क्रीन के ऊपरी या निचले हिस्से या उपयोगकर्ता के स्क्रोल करते समय कॉन्टेंट के साथ इनलाइन दिखते हैं. बैनर विज्ञापन एक निश्चित समय अवधि के बाद अपने आप रीफ़्रेश हो सकते हैं. ज़्यादा जानकारी के लिए, बैनर विज्ञापनों के बारे में खास जानकारी देखें.
इस गाइड में ऐंकर किए गए अडैप्टिव बैनर का इस्तेमाल करने का तरीका बताया गया है विज्ञापन, इसका इस्तेमाल करके, हर डिवाइस के लिए विज्ञापन के साइज़ को ऑप्टिमाइज़ करके, विज्ञापन की परफ़ॉर्मेंस को बेहतर बनाया जाता है आपके विज्ञापन की चौड़ाई.
ऐंकर किया गया अडैप्टिव बैनर
ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापन, सामान्य विज्ञापन के बजाय, तय आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाले विज्ञापन होते हैं तय साइज़ वाले विज्ञापन. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 320*50 इंडस्ट्री स्टैंडर्ड के जैसा होता है. एक बार आप पूरी चौड़ाई उपलब्ध कराते हैं, तो यह आपको सबसे अच्छी क्वालिटी वाला एक विज्ञापन दिखाएगा ऊंचाई. इससे आने वाले अनुरोधों के लिए सही ऊंचाई में कोई बदलाव नहीं होता उसी डिवाइस पर विज्ञापन दिखाता है, और विज्ञापन दिखाते समय आस-पास के दृश्यों को इधर-उधर जाने की ज़रूरत नहीं होती रीफ़्रेश करता है.
ज़रूरी शर्तें
- शुरुआती निर्देश के बारे में पूरी जानकारी दें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें लाइव, प्रोडक्शन विज्ञापन. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, iOS के लिए बने हमारे टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है बैनर:
ca-app-pub-3940256099942544/2435281174
इसे खास तौर पर, हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, आपको इसे कोडिंग, टेस्ट, और डीबग करने के दौरान, ऐप्लिकेशन में बिना किसी शुल्क के इस्तेमाल किया जा सकता है. बस बनाओ पक्का करें कि आपने अपना ऐप्लिकेशन पब्लिश करने से पहले, इसे अपनी विज्ञापन यूनिट के आईडी से बदल दिया हो.
Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, जांच करें Google Ads.
GADBannerView बनाएं
बैनर विज्ञापन GADBannerView
में दिखाए जाते हैं
ऑब्जेक्ट शामिल हैं, इसलिए बैनर विज्ञापनों को इंटिग्रेट करने की दिशा में पहला कदम यह है कि आप GADBannerView
की जगह लागू होती है. आम तौर पर, ऐसा प्रोग्राम के हिसाब से किया जाता है या
इंटरफ़ेस बिल्डर के ज़रिए बनाया गया है.
प्रोग्रैम्ड तरीके से
GADBannerView
को सीधे इंस्टैंशिएट भी किया जा सकता है.
यहां एक उदाहरण दिया गया है, जिसमें GADBannerView
बनाने का तरीका बताया गया है,
स्क्रीन के सुरक्षित क्षेत्र में नीचे बीच में संरेखित करें:
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() let viewWidth = view.frame.inset(by: view.safeAreaInsets).width // Here the current interface orientation is used. Use // GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth or // GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth if you prefer to load an ad of a // particular orientation, let adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth) bannerView = GADBannerView(adSize: adaptiveSize) addBannerViewToView(bannerView) } func addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(bannerView) view.addConstraints( [NSLayoutConstraint(item: bannerView, attribute: .bottom, relatedBy: .equal, toItem: view.safeAreaLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0), NSLayoutConstraint(item: bannerView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) ]) } }
Objective-C
@import GoogleMobileAds; @interface ViewController () @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. CGRect frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); CGFloat viewWidth = frame.size.width; // Here the current interface orientation is used. If the ad is being preloaded // for a future orientation change or different orientation, the function for the // relevant orientation should be used. GADAdSize adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth); // In this case, we instantiate the banner with desired ad size. self.bannerView = [[GADBannerView alloc] initWithAdSize:adaptiveSize]; [self addBannerViewToView:self.bannerView]; } - (void)addBannerViewToView:(UIView *)bannerView { bannerView.translatesAutoresizingMaskIntoConstraints = NO; [self.view addSubview:bannerView]; [self.view addConstraints:@[ [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view.safeAreaLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1 constant:0], [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0] ]]; } @end
ध्यान दें कि इस मामले में हम चौड़ाई या ऊंचाई की पाबंदी नहीं देते, क्योंकि दिया गया विज्ञापन आकार, बैनर को सामग्री का स्वाभाविक आकार देगा, व्यू.
इंटरफ़ेस बिल्डर
GADBannerView
को स्टोरीबोर्ड या xib में जोड़ा जा सकता है
फ़ाइल से लिए जाते हैं. इस तरीके का इस्तेमाल करते समय, पक्का करें कि सिर्फ़ पोज़िशन कंस्ट्रेंट को जोड़ा गया हो
क्लिक किया जा सकता है. उदाहरण के लिए, पेज के सबसे नीचे मौजूद अडैप्टिव बैनर को दिखाते समय
स्क्रीन के लिए, बैनर व्यू के निचले हिस्से को स्क्रीन के निचले हिस्से के ऊपर सेट करें
लेआउट गाइड चुनें और केंद्र X को सुपरव्यू के सेंटर X के बराबर सेट करें.
बैनर का विज्ञापन साइज़ अब भी प्रोग्राम के हिसाब से सेट है:
Swift
bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)
Objective-C
self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);
विज्ञापन लोड करें
GADBannerView
और उसकी प्रॉपर्टी तय होने के बाद
कॉन्फ़िगर किया है, तो यह विज्ञापन लोड करने का समय है. ऐसा करने के लिए loadRequest:
को कॉल करें:
GADRequest
ऑब्जेक्ट:
Swift
override func viewDidLoad() { super.viewDidLoad() ... // Set the ad unit ID and view controller that contains the GADBannerView. bannerView.adUnitID = "ca-app-pub-3940256099942544/2435281174" bannerView.rootViewController = self bannerView.load(GADRequest()) }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... // Set the ad unit ID and view controller that contains the GADBannerView. self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2435281174"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]]; }
GADRequest ऑब्जेक्ट एक विज्ञापन अनुरोध दिखाते हैं और प्रॉपर्टी में टारगेटिंग (विज्ञापन के लिए सही दर्शक चुनना) जैसी चीज़ें शामिल होती हैं.
अगर आपका विज्ञापन लोड नहीं होता है, तो आपको स्पष्ट रूप से जब तक कि आपने अपनी विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया है; Google Mobile Ads SDK आपके AdMob में तय की गई किसी भी रीफ़्रेश दर का पालन करता है यूज़र इंटरफ़ेस (यूआई). अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो आपको नया अनुरोध करना होगा.
विज्ञापन इवेंट
GADBannerViewDelegate
का इस्तेमाल करके, लाइफ़साइकल इवेंट को सुना जा सकता है,
जैसे, जब कोई विज्ञापन बंद होता है या उपयोगकर्ता ऐप्लिकेशन से बाहर निकल जाता है.
बैनर इवेंट के लिए रजिस्टर करना
अगर आपको बैनर विज्ञापन इवेंट के लिए रजिस्टर करना है, तो delegate
प्रॉपर्टी को चालू करें
GADBannerView
को लागू करता है, जो
GADBannerViewDelegate
प्रोटोकॉल. आम तौर पर, बैनर लागू करने वाली क्लास
विज्ञापन, डेलिगेट क्लास के तौर पर भी काम करते हैं. इस मामले में, delegate
प्रॉपर्टी ये काम कर सकती है
self
पर सेट होना चाहिए.
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADBannerViewDelegate { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() ... bannerView.delegate = self } }
Objective-C
@import GoogleMobileAds; @interface ViewController () <GADBannerViewDelegate> @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.delegate = self; }
बैनर इवेंट लागू करना
GADBannerViewDelegate
में दिए गए हर तरीके को 'ज़रूरी नहीं' के तौर पर मार्क किया गया है. इसलिए,
आपको सिर्फ़ अपनी पसंद के तरीके लागू करने होते हैं. यह उदाहरण हर तरीका लागू करता है
और कंसोल में मैसेज लॉग करता है:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { print("bannerViewDidReceiveAd") } func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) { print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)") } func bannerViewDidRecordImpression(_ bannerView: GADBannerView) { print("bannerViewDidRecordImpression") } func bannerViewWillPresentScreen(_ bannerView: GADBannerView) { print("bannerViewWillPresentScreen") } func bannerViewWillDismissScreen(_ bannerView: GADBannerView) { print("bannerViewWillDIsmissScreen") } func bannerViewDidDismissScreen(_ bannerView: GADBannerView) { print("bannerViewDidDismissScreen") }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { NSLog(@"bannerViewDidReceiveAd"); } - (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error { NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]); } - (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView { NSLog(@"bannerViewDidRecordImpression"); } - (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillPresentScreen"); } - (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillDismissScreen"); } - (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewDidDismissScreen"); }
अगर आपको अपने विज्ञापन में बैनर डेलिगेट के तरीकों को लागू करना है, तो विज्ञापन डेलिगेट का उदाहरण देखें iOS API डेमो ऐप्लिकेशन.
उपयोग के उदाहरण
यहां विज्ञापन इवेंट के इन तरीकों के इस्तेमाल के कुछ उदाहरण दिए गए हैं.
विज्ञापन मिलने के बाद, व्यू हैरारकी में बैनर जोड़ना
GADBannerView
को जोड़ने में थोड़ा समय लग सकता है
विज्ञापन मिलने तक व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) ऐसा करने के लिए, ये काम किए जा सकते हैं:
bannerViewDidReceiveAd:
इवेंट के लिए:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { // Add banner to view and add constraints as above. addBannerViewToView(bannerView) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { // Add bannerView to view and add constraints as above. [self addBannerViewToView:self.bannerView]; }
बैनर विज्ञापन को ऐनिमेट करना
bannerViewDidReceiveAd:
इवेंट का इस्तेमाल, बैनर विज्ञापन के वापस आने के बाद उसे ऐनिमेट करने के लिए भी किया जा सकता है. इसका उदाहरण यहां दिया गया है:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { bannerView.alpha = 0 UIView.animate(withDuration: 1, animations: { bannerView.alpha = 1 }) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { bannerView.alpha = 0; [UIView animateWithDuration:1.0 animations:^{ bannerView.alpha = 1; }]; }
ऐप्लिकेशन को रोकना और उसे फिर से शुरू करना
GADBannerViewDelegate
प्रोटोकॉल में आपको इवेंट की सूचना देने के तरीके मिलते हैं. जैसे
जैसे, किसी क्लिक की वजह से ओवरले पेश या खारिज हो जाता है. अगर आपको
यह पता लगाना कि क्या ये इवेंट विज्ञापनों की वजह से हुए थे, इनके लिए रजिस्टर करें
GADBannerViewDelegate
तरीके.
विज्ञापन पर क्लिक करने से होने वाले ओवरले प्रज़ेंटेशन या बाहरी ब्राउज़र को शुरू करने के साथ-साथ, सभी तरह के ओवरले प्रज़ेंटेशन या बाहरी ब्राउज़र को शुरू करने के लिए, आपके ऐप्लिकेशन को UIViewController
या UIApplication
पर मिलते-जुलते तरीकों को सुनना बेहतर होगा. यहाँ एक टेबल दी गई है
iOS के ऐसे मिलते-जुलते तरीके दिखाए जा रहे हैं जिनका इस्तेमाल एक ही समय पर किया जाता है
GADBannerViewDelegate
तरीका:
GADBannerViewDelegate | iOS का तरीका |
---|---|
bannerViewWillPresentScreen: |
UIViewController का viewWillDisappear: |
bannerViewWillDismissScreen: |
UIViewController का viewWillAppear: |
bannerViewDidDismissScreen: |
UIViewController का viewDidAppear: |
अन्य संसाधन
GitHub पर उदाहरण
- ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापनों का उदाहरण: Swift | Objective-C
- बेहतर सुविधाओं का डेमो: Swift | Objective-C
अगले चरण
छोटे किए जा सकने वाले बैनर
छोटे हो सकने वाले बैनर विज्ञापन ऐसे बैनर विज्ञापन होते हैं जो शुरुआत में बड़े साइज़ के ओवरले पर क्लिक करें. इसका इस्तेमाल करें का इस्तेमाल करें. ज़्यादा जानकारी के लिए, छोटे हो जाने वाले बैनर विज्ञापन देखें.
इनलाइन अडैप्टिव बैनर
ऐंकर किए गए अडैप्टिव बैनर की तुलना में, इनलाइन अडैप्टिव बैनर बड़े और लंबे होते हैं बैनर. इनकी ऊंचाई अलग-अलग होती है और ये डिवाइस की स्क्रीन जितनी लंबी हो सकती हैं. इनके लिए, ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापनों के बजाय, इनलाइन अडैप्टिव बैनर का सुझाव दिया जाता है ऐसे ऐप्लिकेशन जो स्क्रोल किए जा सकने वाले कॉन्टेंट में बैनर विज्ञापन दिखाते हैं. इनलाइन अडैप्टिव देखें ज़्यादा जानकारी के लिए बैनर विवरण.