ऐंकर अडैप्टिव बैनर

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

सबसे अच्छा विज्ञापन आकार चुनने के लिए, अडैप्टिव बैनर तय ऊंचाई के बजाय, तय आसपेक्ट रेशियो का इस्तेमाल करते हैं. इससे बैनर विज्ञापन सभी डिवाइस की स्क्रीन का एक जैसा हिस्सा घेरते हैं और विज्ञापनों की परफ़ॉर्मेंस बेहतर होती है.

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

अडैप्टिव बैनर का इस्तेमाल कब करना चाहिए

अडैप्टिव बैनर को इस तरह से डिज़ाइन किया गया है कि यह इंडस्ट्री के स्टैंडर्ड 320x50 बैनर साइज़ के साथ ही एक स्मार्ट बैनर फ़ॉर्मैट की जगह ले सकता है.

इन बैनर साइज़ को आम तौर पर ऐंकर बैनर के तौर पर इस्तेमाल किया जाता है. आम तौर पर, इन्हें स्क्रीन के सबसे ऊपर या सबसे नीचे लॉक किया जाता है. ऐसे ऐंकर बैनर के लिए, अडैप्टिव बैनर का इस्तेमाल करते समय आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) 320x50 के स्टैंडर्ड विज्ञापन से मिलता-जुलता होगा. स्क्रीनशॉट को इन स्क्रीनशॉट में देखा जा सकता है:

अडैप्टिव बैनर, उपलब्ध स्क्रीन साइज़ का बेहतर तरीके से इस्तेमाल करता है. इसके अलावा, स्मार्ट बैनर की तुलना में, अडैप्टिव बैनर बेहतर विकल्प होता है, क्योंकि:

  • यह फ़ुल स्क्रीन चौड़ाई के बजाय दी गई चौड़ाई का इस्तेमाल करता है, जिससे आप सुरक्षित इलाकेको ध्यान में रख सकते हैं.

  • यह अलग-अलग साइज़ के डिवाइस में एक जैसी ऊंचाई के बजाय, चुनिंदा डिवाइस के लिए सबसे अच्छी ऊंचाई चुनने का काम करता है. इससे डिवाइस के फ़्रैगमेंट का असर कम हो जाता है.

लागू करने की जानकारी

अपने ऐप्लिकेशन में अडैप्टिव बैनर को लागू करते समय, इन बातों को ध्यान में रखें:

  • आपको यह पता होना चाहिए कि विज्ञापन की चौड़ाई कितनी होनी चाहिए. साथ ही, इसमें डिवाइस की चौड़ाई और लागू होने वाली सुरक्षित जगहों को लागू किया जाना चाहिए.
  • पक्का करें कि जब आपका विज्ञापन स्लॉट, विज्ञापन स्लॉट को न भरता हो, तबAdMob विज्ञापन नीतियों के मुताबिक विज्ञापन दिखाने का बैकग्राउंड साफ़ नहीं होता.

  • पक्का करें कि आप Google मोबाइल विज्ञापन SDK टूल के नए वर्शन का इस्तेमाल कर रहे हैं. मीडिएशन के लिए, नए वर्शन के मीडिएशन अडैप्टर का इस्तेमाल करें.

  • अडैप्टिव बैनर साइज़ इस तरह से डिज़ाइन किए गए हैं कि वे पूरी चौड़ाई के साथ काम कर सकें. ज़्यादातर मामलों में, यह इस्तेमाल किए जा रहे डिवाइस की स्क्रीन की पूरी चौड़ाई दिखेगी. लागू होने वालेसुरक्षित इलाकों का ध्यान रखें.

  • Google मोबाइल विज्ञापन SDK टूल, एक GADAdSize.

  • अडैप्टिव बैनर के लिए विज्ञापन का साइज़ तय करने के तीन तरीके हैं. इनमें, लैंडस्केप के लिए एक, पोर्ट्रेट के लिए, और मौजूदा व्यू के लिए मौजूदा ओरिएंटेशन के लिए एक तरीका है. ज़्यादा जानकारी के लिए, नीचे पूरे एपीआई के दस्तावेज़ देखें.

  • किसी डिवाइस पर दी गई चौड़ाई के लिए दिया गया साइज़ हमेशा एक जैसा रहेगा. इसलिए, जब आप किसी डिवाइस पर अपने लेआउट की जांच #39 करेंगे, तो आप यह पक्का कर सकते हैं कि विज्ञापन का साइज़ नहीं बदलेगा.

  • ऐंकर बैनर की ऊंचाई डिवाइस के #19% से ज़्यादा नहीं होती है. यह कभी भी 50 से कम नहीं होती पॉइंट.

तुरंत शुरू करना

एक आसान अडैप्टिव ऐंकर बैनर लागू करने के लिए, नीचे दिया गया तरीका अपनाएं.

  1. a GADBannerView ऑब्जेक्ट बनाएं और अपना विज्ञापन यूनिट आईडी सेट करें.

  2. अडैप्टिव बैनर विज्ञापन का साइज़ पाना. आपको मिलने वाले आकार का इस्तेमाल आपके अडैप्टिव बैनर की मांग करने के लिए किया जाएगा. अडैप्टिव विज्ञापन साइज़ पाने के लिए, पक्का करें कि:

    1. इस्तेमाल किए जा रहे डिवाइस की चौड़ाई बताएं या अगर आप स्क्रीन की पूरी चौड़ाई का इस्तेमाल नहीं करना चाहते हैं, तो अपनी चौड़ाई सेट करें.
    2. विज्ञापन के साइज़ की क्लास में सही स्टैटिक तरीकों का इस्तेमाल करें, जैसे कि GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) ज़रूरत के हिसाब से विज्ञापन दिखाने के लिए GADAdSize ऑब्जेक्ट को चुनें.
    3. बैनर विज्ञापन व्यू पर विज्ञापन का साइज़ सेट करें—ऐसा करने के लिए GADBannerView पर adSize प्रॉपर्टी सेट करके.

    यहां इसका पूरा उदाहरण दिया गया है.

  3. एक विज्ञापन अनुरोध ऑब्जेक्ट बनाएं और अपने तैयार विज्ञापन व्यू पर loadRequest तरीका का इस्तेमाल करके अपना बैनर लोड करें, जैसा कि आप आम बैनर अनुरोध की तरह करते हैं.

नमूना कोड

यहां एक ऐसे व्यू कंट्रोलर का उदाहरण दिया गया है जो सुरक्षित इलाके और व्यू ओरिएंटेशन को ध्यान में रखते हुए, iOS वर्शन पर किसी भी अडैप्टिव बैनर को लोड और फिर से लोड करेगा:

Swift

class ViewController: UIViewController {

  @IBOutlet weak var bannerView: GADBannerView!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Step 1 - Create a GADBannerView (in code or interface builder) and set the
    // ad unit ID on it.
    bannerView.adUnitID = "ca-app-pub-3940256099942544/2435281174"
    bannerView.rootViewController = self
  }

  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    // Note loadBannerAd is called in viewDidAppear as this is the first time that
    // the safe area is known. If safe area is not a concern (e.g., your app is
    // locked in portrait mode), the banner can be loaded in viewWillAppear.
    loadBannerAd()
  }

  override func viewWillTransition(to size: CGSize,
                          with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to:size, with:coordinator)
    coordinator.animate(alongsideTransition: { _ in
      self.loadBannerAd()
    })
  }

  func loadBannerAd() {
    // Step 2 - Determine the view width to use for the ad width.
    let frame = { () -> CGRect in
      // Here safe area is taken into account, hence the view frame is used
      // after the view has been laid out.
      if #available(iOS 11.0, *) {
        return view.frame.inset(by: view.safeAreaInsets)
      } else {
        return view.frame
      }
    }()
    let viewWidth = frame.size.width

    // Step 3 - Get Adaptive GADAdSize and set the ad view.
    // Here the current interface orientation is used. If the ad is being preloaded
    // for a future orientation change or different orientation, the function for the
    // relevant orientation should be used.
    bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)

    // Step 4 - Create an ad request and load the adaptive banner ad.
    bannerView.load(GADRequest())
  }
}

Objective-C

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Step 1 - Create a GADBannerView (in code or interface builder) and set the
  // ad unit ID on it.
  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2435281174";
  self.bannerView.rootViewController = self;
}

- (void)viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];
  // Note loadBannerAd is called in viewDidAppear as this is the first time that
  // the safe area is known. If safe area is not a concern (e.g., your app is
  // locked in portrait mode), the banner can be loaded in viewWillAppear.
  [self loadBannerAd];
}

- (void)viewWillTransitionToSize:(CGSize)size
    withTransitionCoordinator:(id)coordinator {
  [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
  [coordinator animateAlongsideTransition:^(id
      _Nonnull context) {
        [self loadBannerAd];
  } completion:nil];
}

- (void)loadBannerAd {
  // Step 2 - Determine the view width to use for the ad width.
  CGRect frame = self.view.frame;
  // Here safe area is taken into account, hence the view frame is used after
  // the view has been laid out.
  if (@available(iOS 11.0, *)) {
    frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets);
  }
  CGFloat viewWidth = frame.size.width;

  // Step 3 - Get Adaptive GADAdSize and set the ad view.
  // Here the current interface orientation is used. If the ad is being
  // preloaded for a future orientation change or different orientation, the
  // function for the relevant orientation should be used.
  self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);

  // Step 4 - Create an ad request and load the adaptive banner ad.
  GADRequest *request = [GADRequest request];
  [self.bannerView loadRequest:request];
}

@end

यहां, मौजूदा GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) सुविधा का इस्तेमाल करके, मौजूदा इंटरफ़ेस ओरिएंटेशन के लिए ऐंकर स्थिति में बैनर का साइज़ पाने के लिए इस्तेमाल किया जाता है. किसी ओरिएंटेशन में ऐंकर बैनर को पहले से लोड करने के लिए, GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) और GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) के काम के फ़ंक्शन का इस्तेमाल करें.

GitHub पर पूरा उदाहरण

स्विफ़्ट मकसद-C