बैनर विज्ञापन किसी ऐप्लिकेशन के लेआउट में, डिवाइस की स्क्रीन के सबसे ऊपरी या निचले हिस्से में रहते हैं. ये स्क्रीन पर तब दिखते हैं, जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट कर रहे होते हैं और वे एक तय समय के बाद अपने-आप रीफ़्रेश कर सकते हैं. अगर आप मोबाइल विज्ञापन में नए हैं, तो शुरू करने के लिए यह एक बेहतरीन प्लैटफ़ॉर्म है. केस स्टडी.
आपको इस गाइड में, iOS ऐप्लिकेशन मेंAdMob से बैनर विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों में, बैनर को सही तरीके से साइज़ देने और ज़्यादा संसाधनों के लिंक के बारे में जानकारी भी दी गई है.
ज़रूरी शर्तें
- शुरुआती निर्देश पूरी करें.
हमेशा टेस्ट विज्ञापनों की मदद से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप लाइव और प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करते हों. ऐसा नहीं करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका, iOS बैनर के लिए बने हमारे टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/2934735716
इसे हर अनुरोध के लिए, टेस्ट विज्ञापनों को लौटाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. साथ ही, आप कोडिंग, टेस्टिंग, और डीबग करने के दौरान अपने ऐप्लिकेशन में इसका इस्तेमाल कर सकते हैं. अपना ऐप्लिकेशन प्रकाशित करने से पहले आपको इसे अपने विज्ञापन यूनिट आईडी से बदलना होगा.
मोबाइल विज्ञापन SDK टूल के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए टेस्ट विज्ञापन देखें.
GADBannerViewबनाएं
बैनर विज्ञापन,
GADBannerView
ऑब्जेक्ट में दिखाए जाते हैं. इसलिए, सबसे पहले बैनर विज्ञापनों को इंटिग्रेट करने की दिशा में, अपने व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) में
GADBannerView
शामिल करना होगा. आम तौर पर, ऐसा इंटरफ़ेस बिल्डर या प्रोग्राम की मदद से किया जाता है.
इंटरफ़ेस बनाने वाला
किसी स्टैंडर्ड व्यू की तरह, स्टोरीबोर्ड या xib फ़ाइल में GADBannerView
जोड़ा जा सकता है. इस तरीके का इस्तेमाल करते समय पक्का करें कि आप जो विज्ञापन साइज़ दिखाना चाहते हैं उससे मैच करने वाला
चौड़ाई और ऊंचाई कंस्ट्रेंट जोड़ें. उदाहरण के लिए,
बैनर दिखाते समय (320x50), चौड़ाई वाले कंस्ट्रेंट के लिए 320 पॉइंट, और
ऊंचाई की सीमा को 50 पॉइंट का इस्तेमाल करें.
प्रोग्राम की मदद से
GADBannerView
को सीधे तौर पर भी इंस्टैंशिएट किया जा सकता है.
यहां एक GADBannerView
बनाने का उदाहरण दिया गया है, जिसे 320x50 के बैनर साइज़ के साथ
स्क्रीन के सुरक्षित इलाके में सबसे नीचे बीच में दिखाया गया है:
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() // In this case, we instantiate the banner with desired ad size. bannerView = GADBannerView(adSize: GADAdSizeBanner) 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]; // In this case, we instantiate the banner with desired ad size. self.bannerView = [[GADBannerView alloc] initWithAdSize:GADAdSizeBanner]; [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
ध्यान दें कि इस मामले में, हम चौड़ाई या ऊंचाई की सीमाएं नहीं देते. ऐसा इसलिए, क्योंकि दिए गए विज्ञापन का साइज़, व्यू को बड़ा करने के लिए स्वाभाविक कॉन्टेंट का साइज़ देता है.
अगर आपको स्थायी साइज़ का इस्तेमाल नहीं करना है, तो GADAdSizeFromCGSize
का इस्तेमाल करके कस्टम साइज़ सेट किया जा सकता है.
ज़्यादा जानकारी के लिए, बैनर साइज़ सेक्शन देखें.
GADBannerView प्रॉपर्टी कॉन्फ़िगर करें
विज्ञापनों को लोड करने और दिखाने के लिए, GADBannerView
कुछ प्रॉपर्टी सेट करनी होंगी.
rootViewController
- विज्ञापन पर क्लिक होने पर, ओवरले को दिखाने के लिए इस व्यू कंट्रोलर का इस्तेमाल किया जाता है. आम तौर पर, इसे ऐसे व्यू कंट्रोलर पर सेट किया जाना चाहिए जिसमेंGADBannerView
हो.adUnitID
- यह विज्ञापन यूनिट का वह आईडी है जिससेGADBannerView
विज्ञापन लोड करते हैं.
यहां एक कोड का उदाहरण दिया गया है, जिसमें यूज़र इंटरफ़ेस (यूआई) कंट्रोलर के
viewDidLoad
तरीके में दो ज़रूरी प्रॉपर्टी को सेट करने का तरीका बताया गया है:
Swift
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; }
विज्ञापन लोड करना
GADBannerView
सेट होने और उसकी प्रॉपर्टी
कॉन्फ़िगर हो जाने पर, विज्ञापन लोड करने का समय हो जाता है. ऐसा करने के लिए, loadRequest:
को
GADRequest
ऑब्जेक्ट पर कॉल करें:
Swift
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self bannerView.load(GADRequest()) }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]]; }
GADRequest विषय एक विज्ञापन अनुरोध के बारे में बताता है और इसमें टारगेटिंग की जानकारी जैसी चीज़ों के लिए प्रॉपर्टी शामिल होती हैं.
विज्ञापन इवेंट
GADBannerViewDelegate
का इस्तेमाल करके, आप लाइफ़साइकल इवेंट सुन सकते हैं, जैसे कि कोई विज्ञापन कब बंद होता है या उपयोगकर्ता ऐप्लिकेशन कब छोड़ देता है.
बैनर इवेंट के लिए रजिस्टर करना
अगर आप बैनर विज्ञापन इवेंट के लिए रजिस्टर करना चाहते हैं, तो GADBannerView
के लिए delegate
प्रॉपर्टी को ऐसे ऑब्जेक्ट पर सेट करें जो
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 एपीआई डेमो ऐप्लिकेशन में, बैनर डेलिगेट के तरीके लागू करने के लिए, विज्ञापन ग्रुप का उदाहरण देखें.
उपयोग के उदाहरण
यहां विज्ञापन इवेंट के इन तरीकों के कुछ उदाहरण दिए गए हैं.
कोई विज्ञापन मिलने के बाद व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) में बैनर जोड़ना
विज्ञापन मिलने के बाद आप व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) में 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
तरीकों के साथ लागू किया जाता है:
GADबैनरViewDelegate तरीका | iOS का तरीका |
---|---|
bannerViewWillPresentScreen: |
UIViewController's viewWillDisappear: |
bannerViewWillDismissScreen: |
UIViewController's viewWillAppear: |
bannerViewDidDismissScreen: |
UIViewController's viewDidAppear: |
बैनर आकार
नीचे दी गई टेबल में स्टैंडर्ड बैनर साइज़ की सूची दी गई है.
पॉइंट में साइज़ (WxH) | जानकारी | सुपर थैंक्स की सुविधा कहां उपलब्ध है | AdSize कॉन्सटेंट |
---|---|---|---|
320x50 | बैनर | फ़ोन और टैबलेट | GADAdSizeBanner |
320x100 | बड़ा बैनर | फ़ोन और टैबलेट | GADAdSizeLargeBanner |
300x250 | IAB मीडियम रेक्टैंगल | फ़ोन और टैबलेट | GADAdSizeMediumRectangle |
468x60 | आईएबी का फ़ुल साइज़ बैनर | टैबलेट | GADAdSizeFullBanner |
728x90 | IAB लीडरबोर्ड | टैबलेट | GADAdSizeLeaderboard |
दी गई चौड़ाई x अडैप्टिव ऊंचाई | अडैप्टिव बैनर | फ़ोन और टेबलेट | लागू नहीं |
कस्टम विज्ञापन आकार
अपनी पसंद के मुताबिक बैनर का साइज़ तय करने के लिए, GADAdSizeFromCGSize
का इस्तेमाल करके अपना पसंद का साइज़ सेट करें, जैसा कि यहां दिखाया गया है:
Swift
let adSize = GADAdSizeFromCGSize(CGSize(width: 300, height: 50))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(300, 50));
अन्य संसाधन
GitHub पर उदाहरण
बैनर विज्ञापनों का उदाहरण: Swift | Objective-C
बेहतर सुविधाओं का डेमो: Swift | Objective-C
GitHub पर बैनर UITableView का उदाहरण: Swift | Objective-C