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

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

इस गाइड में,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

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

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

अगले चरण

उपयोगकर्ता की निजता के बारे में ज़्यादा जानें.