बैनर विज्ञापन

बैनर विज्ञापन, ऐप्लिकेशन के लेआउट में जगह लेते हैं. या तो डिवाइस की स्क्रीन के सबसे ऊपर या सबसे नीचे. जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तो वे स्क्रीन पर बने रहते हैं और कुछ समय बाद अपने आप रीफ़्रेश हो सकते हैं. अगर आप #39;मोबाइल विज्ञापन के क्षेत्र में नए हैं, तो शुरुआत करने के लिए ये सबसे सही जगह हैं. केस स्टडी.

इस गाइड में आपकोAdMob के विज्ञापनों को iOS ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों में, बैनर के साइज़ को बेहतर तरीके से बदलने और अन्य संसाधनों के लिंक के बारे में जानकारी दी गई है.

ज़रूरी बातें

हमेशा टेस्ट विज्ञापनों के साथ टेस्ट करें

अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय, लाइव और प्रोडक्शन विज्ञापन के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें. अगर आप ऐसा नहीं करेंगे, तो आपके खाते को निलंबित किया जा सकता है.

टेस्ट बैनर लोड करने का सबसे आसान तरीका, 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 एपीआई डेमो ऐप्लिकेशन में बैनर डेलिगेट के तरीकों को लागू करने के लिए, विज्ञापन डेलिगेट का उदाहरण देखें.

Swift मकसद-C

उपयोग के उदाहरण

यहां विज्ञापन के इन इवेंट के तरीकों के कुछ उदाहरण दिए गए हैं.

विज्ञापन मिलने के बाद व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) में बैनर जोड़ना

हो सकता है कि विज्ञापन मिलने के बाद, व्यू व्यू के क्रम में 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 पर उदाहरण

मोबाइल विज्ञापन गैराज वीडियो ट्यूटोरियल

सफलता की कहानियां