बैनर विज्ञापन, ऐप्लिकेशन के लेआउट में जगह लेते हैं. या तो डिवाइस की स्क्रीन के सबसे ऊपर या सबसे नीचे. जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तो वे स्क्रीन पर बने रहते हैं और कुछ समय बाद अपने आप रीफ़्रेश हो सकते हैं. अगर आप #39;मोबाइल विज्ञापन के क्षेत्र में नए हैं, तो शुरुआत करने के लिए ये सबसे सही जगह हैं. केस स्टडी.
इस गाइड में आपकोAdMob के विज्ञापनों को iOS ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों में, बैनर के साइज़ को बेहतर तरीके से बदलने और अन्य संसाधनों के लिंक के बारे में जानकारी दी गई है.
ज़रूरी बातें
- Google मोबाइल विज्ञापन SDK टूल इंपोर्ट करें, खुद ही या Firebase के हिस्से के तौर पर.
हमेशा टेस्ट विज्ञापनों के साथ टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय, लाइव और प्रोडक्शन विज्ञापन के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें. अगर आप ऐसा नहीं करेंगे, तो आपके खाते को निलंबित किया जा सकता है.
टेस्ट बैनर लोड करने का सबसे आसान तरीका, iOS बैनर के लिए हमारे खास विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/2934735716
इसे खास तौर पर, हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, आप इसे कोडिंग, टेस्टिंग, और डीबग करते समय अपने ऐप्लिकेशन में इस्तेमाल कर सकते हैं. ऐप्लिकेशन प्रकाशित करने से पहले, पक्का करें कि आप उसे अपने विज्ञापन यूनिट आईडी से बदल दें.
मोबाइल विज्ञापन SDK टूल ##39; टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानकारी के लिए, टेस्ट विज्ञापन देखें.
GADBannerViewबनाएं
बैनर विज्ञापन
GADBannerView
ऑब्जेक्ट में दिखाए जाते हैं. इसलिए, बैनर विज्ञापनों को इंटिग्रेट करने का पहला चरण,
व्यू व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) में GADBannerView
को शामिल करना है. आम तौर पर, ऐसा इंटरफ़ेस बिल्डर या प्रोग्रामैटिक तरीके से किया जाता है.
इंटरफ़ेस बिल्डर
GADBannerView
को किसी भी सामान्य व्यू की तरह स्टोरीबोर्ड या xib फ़ाइल में जोड़ा जा सकता है. इस तरीके का इस्तेमाल करते समय, यह पक्का करें कि आपने जो विज्ञापन साइज़ ##39 दिखाया है उससे मैच करने के लिए, चौड़ाई और ऊंचाई से जुड़ी कंस्ट्रेंट जोड़ें. उदाहरण के लिए, जब आप कोई बैनर दिखाते हैं (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: bottomLayoutGuide, attribute: .top, 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.bottomLayoutGuide attribute:NSLayoutAttributeTop 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
तय होने के बाद, इसकी प्रॉपर्टी
कॉन्फ़िगर हो जाने पर, विज्ञापन लोड किया जा सकता है. ऐसा करने के लिए, GADRequest
ऑब्जेक्ट पर loadRequest:
को कॉल किया जाता है:
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 | IAB का फ़ुल साइज़ बैनर | टैबलेट | GADAdSizeFullBanner |
728x90 | आईएबी लीडरबोर्ड | टैबलेट | GADAdSizeLeaderboard |
दी गई चौड़ाई x अडैप्टिव ऊंचाई | अडैप्टिव बैनर | फ़ोन और टेबलेट | लागू नहीं |
कस्टम विज्ञापन आकार
पसंद के मुताबिक बैनर साइज़ तय करने के लिए, GADAdSizeFromCGSize
का इस्तेमाल करके अपना मनचाहा साइज़ सेट करें, जैसा कि यहां दिखाया गया है:
Swift
let adSize = GADAdSizeFromCGSize(CGSize(width: 300, height: 50))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(300, 50));
अन्य संसाधन
GitHub पर उदाहरण
GitHub पर बैनर UITableView का उदाहरण: Swift | Objective-C