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

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

ज़रूरी शर्तें

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

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

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

  • Android: ca-app-pub-3940256099942544/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

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

Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापन लेख पढ़ें.

लागू करना

AdView को कॉन्फ़िगर करना

बैनर विज्ञापन, AdView ऑब्जेक्ट में दिखाए जाते हैं. इसलिए, बैनर विज्ञापनों को इंटिग्रेट करने का पहला चरण, AdView बनाना और उसे पोज़िशन करना है.

  1. अपने ऐप्लिकेशन के C++ कोड में यह हेडर जोड़ें:

     #include "firebase/gma/ad_view.h"
  2. AdView ऑब्जेक्ट का एलान करें और उसका इंस्टेंस बनाएं:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. AdSize बनाएं और AdParent पैरंट व्यू का इस्तेमाल करके विज्ञापन व्यू को शुरू करें. पैरंट व्यू, Android Activity के लिए JNI jobject रेफ़रंस या AdParent टाइप में कास्ट किए गए iOS UIView के लिए पॉइंटर होता है:

     // my_ad_parent is a jobject reference
     // to an Android Activity or a pointer to an iOS UIView.
     firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
  4. फ़्यूचर को वैरिएबल के तौर पर बनाए रखने के बजाय, AdView ऑब्जेक्ट पर InitializeLastResult() को शुरू करके, समय-समय पर शुरू करने की प्रोसेस की स्थिति देखी जा सकती है. इससे, अपने ग्लोबल गेम लूप में शुरू करने की प्रोसेस को ट्रैक करने में मदद मिल सकती है.

      // Monitor the status of the future in your game loop:
      firebase::Future<void> result = ad_view->InitializeLastResult();
      if (result.status() == firebase::kFutureStatusComplete) {
        // Initialization completed.
        if(future.error() == firebase::gma::kAdErrorCodeNone) {
          // Initialization successful.
        } else {
          // An error has occurred.
        }
      } else {
        // Initialization on-going.
      }
    
  5. firebase::Future के साथ काम करने के बारे में ज़्यादा जानने के लिए, फ़्यूचर का इस्तेमाल करके, मेथड कॉल के पूरा होने की स्थिति को मॉनिटर करना लेख पढ़ें.

विज्ञापन की पोज़िशन सेट करना

AdView को शुरू करने के बाद, उसकी पोज़िशन को कभी भी सेट किया जा सकता है:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

विज्ञापन लोड करना

AdView को शुरू करने के बाद, विज्ञापन लोड किया जा सकता है:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

AdRequest ऑब्जेक्ट, एक विज्ञापन अनुरोध को दिखाते हैं. साथ ही, इनमें टारगेटिंग जैसी जानकारी के लिए प्रॉपर्टी होती हैं.

विज्ञापन दिखाना

आखिर में, Show() को कॉल करके विज्ञापन को स्क्रीन पर दिखाएं. विज्ञापन शुरू होने के बाद, इस तरीके को किसी भी समय शुरू किया जा सकता है:

firebase::Future<void> result = ad_view->Show();

विज्ञापन इवेंट

Google Mobile Ads C++ SDK, AdListener क्लास उपलब्ध कराता है. इसे विज्ञापन व्यू की स्थिति में होने वाले बदलावों की सूचना पाने के लिए, AdView::SetListener() में पास किया जा सकता है और बढ़ाया जा सकता है.

AdListener में एक्सटेंशन के तरीके जोड़ना ज़रूरी नहीं है. इसलिए, आपको सिर्फ़ वे तरीके लागू करने होंगे जो आपको चाहिए. यहां एक क्लास को लागू करने का उदाहरण दिया गया है, जो AdListener के सभी तरीकों की क्लास को एक्सटेंड करती है:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

  void OnAdClosed() override {
   // This method is invoked when the user closes the ad.
  }

  void OnAdImpression() override {
    // This method is invoked when an impression is recorded for an ad.
  }

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

नीचे दी गई टेबल में, स्टैंडर्ड बैनर साइज़ की सूची दी गई है.

पॉइंट में साइज़ (चौड़ाई x ऊंचाई) ब्यौरा उपलब्धता firebase::gma::AdSize constant
320x50 बैनर फ़ोन और टेबलेट kBanner
320x100 बड़ा बैनर फ़ोन और टेबलेट kLargeBanner
300x250 IAB मीडियम रेक्टैंगल फ़ोन और टेबलेट kMediumRectangle
468x60 आईएबी फ़ुल-साइज़ बैनर टैबलेट kFullBanner
728x90 IAB लीडरबोर्ड टैबलेट kLeaderboard
तय की गई चौड़ाई x ज़रूरत के हिसाब से ऊंचाई अडैप्टिव बैनर फ़ोन और टेबलेट लागू नहीं

विज्ञापन के कस्टम साइज़

कस्टम बैनर साइज़ तय करने के लिए, चौड़ाई और ऊंचाई पैरामीटर के साथ firebase::gma::AdSize कंस्ट्रक्टर का इस्तेमाल करके, अपने पसंदीदा डाइमेंशन सेट करें, जैसा कि यहां दिखाया गया है:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

अन्य संसाधन

GitHub में उदाहरण

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