बैनर विज्ञापन, ऐप्लिकेशन के लेआउट में डिवाइस की स्क्रीन के ऊपर या नीचे एक जगह ले लेते हैं. जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब ये स्क्रीन पर बने रहते हैं और तय समय के बाद अपने-आप रीफ़्रेश हो जाते हैं. अगर आप मोबाइल पर विज्ञापन देने के मामले में नए हैं, तो शुरुआत करने के लिए यह बेहतर जगह है. केस स्टडी.
इस गाइड में,AdMob के बैनर विज्ञापनों को iOS ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों के अलावा, इसमें बैनर के साइज़ को सही तरीके से बनाने और अन्य संसाधनों के लिंक के बारे में जानकारी दी गई है.
ज़रूरी शर्तें
- शुरू करने के लिए गाइड को पूरा करें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और टेस्ट करते समय पक्का करें कि आप लाइव, प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें. ऐसा न करने पर आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, iOS बैनर के लिए हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/2934735716
इसे खास तौर पर हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल किया जा सकता है. बस अपना ऐप्लिकेशन पब्लिश करने से पहले, यह पक्का कर लें कि आपने इसे अपने विज्ञापन यूनिट आईडी से बदल दिया हो.
Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, विज्ञापन टेस्ट करें देखें.
GADBannerViewबनाएं
बैनर विज्ञापन,
GADBannerView
ऑब्जेक्ट में दिखाए जाते हैं. इसलिए, बैनर विज्ञापनों को इंटिग्रेट करने के लिए, सबसे पहले अपने व्यू की हैरारकी में
GADBannerView
को शामिल करें. आम तौर पर, ऐसा इंटरफ़ेस बिल्डर के ज़रिए या
प्रोग्रामेटिक तरीके से किया जाता है.
इंटरफ़ेस बिल्डर
किसी भी आम व्यू की तरह GADBannerView
को स्टोरीबोर्ड या xib फ़ाइल में जोड़ा जा सकता है. इस तरीके का इस्तेमाल करते समय, विज्ञापनों के साइज़ के हिसाब से स्क्रीन की चौड़ाई और ऊंचाई के लिए ज़रूरी शर्तें जोड़ना न भूलें. उदाहरण के लिए,
बैनर (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
विज्ञापन लोड करने चाहिए.
यहां दिए गए कोड के उदाहरण में, UIViewController के 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 ऑब्जेक्ट एक विज्ञापन अनुरोध दिखाते हैं और इनमें टारगेटिंग की जानकारी जैसी चीज़ों के लिए प्रॉपर्टी होती हैं.
अगर आपका विज्ञापन लोड नहीं हो पाता है, तो आपको साफ़ तौर पर दूसरे विज्ञापन का अनुरोध करने की ज़रूरत नहीं है. हालांकि, इसके लिए ज़रूरी है कि आपने विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया हो. Google Mobile Ads SDK,AdMob यूज़र इंटरफ़ेस में आपकी तय की गई रीफ़्रेश दर का पालन करता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो आपको नया अनुरोध करना होगा.
विज्ञापन इवेंट
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 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
और तरीकों से शुरू किया जाता है:
GADBannerViewDialog इस्तेमाल करने का तरीका | iOS में सेट किया गया तरीका |
---|---|
bannerViewWillPresentScreen: |
यूज़र इंटरफ़ेस (यूआई) कंट्रोलर का viewWillDisappear: |
bannerViewWillDismissScreen: |
यूज़र इंटरफ़ेस (यूआई) कंट्रोलर का viewWillAppear: |
bannerViewDidDismissScreen: |
यूज़र इंटरफ़ेस (यूआई) कंट्रोलर का viewDidAppear: |
बैनर आकार
नीचे दी गई टेबल में बैनर के स्टैंडर्ड साइज़ दिए गए हैं.
पॉइंट में साइज़ (WxH) | ब्यौरा | उपलब्धता | AdSize कॉन्सटेंट |
---|---|---|---|
320x50 | बैनर | फ़ोन और टैबलेट | GADAdSizeBanner |
320x100 | बड़ा बैनर | फ़ोन और टैबलेट | GADAdSizeLargeBanner |
300x250 | IAB मीडियम रेक्टैंगल | फ़ोन और टैबलेट | GADAdSizeMediumRectangle |
468x60 | IAB का फ़ुल साइज़ बैनर | टैबलेट | 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
मोबाइल विज्ञापन गैराज के वीडियो ट्यूटोरियल
सफलता की कहानियां
अगले चरण
उपयोगकर्ता की निजता के बारे में ज़्यादा जानें.