बैनर विज्ञापन, ऐप्लिकेशन के लेआउट में किसी जगह पर दिखते हैं. ये डिवाइस की स्क्रीन पर सबसे ऊपर या सबसे नीचे दिख सकते हैं. जब उपयोगकर्ता आपके ऐप्लिकेशन से इंटरैक्ट करते हैं, तब स्क्रीन पर बैनर विज्ञापन दिखते रहते हैं. इसके अलावा, ये विज्ञापन कुछ समय बाद अपने-आप रीफ़्रेश हो सकते हैं. अगर आपने पहली बार मोबाइल पर विज्ञापन दिखाए हैं, तो बैनर विज्ञापन दिखाने से शुरुआत करना एक अच्छा विकल्प है. केस स्टडी.
ज़रूरी शर्तें
- शुरू करें को पूरा करें.
- (सिर्फ़ Android के लिए) JNI
jobjectरेफ़रंस के साथ काम करने का अनुभव होना चाहिए. इसके लिए, Android JNI के सुझाव देखें.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें. ऐसा न करने पर, आपका खाता निलंबित हो सकता है.
बैनर विज्ञापनों के लिए टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है. यह आईडी, डिवाइस के प्लैटफ़ॉर्म के हिसाब से अलग-अलग होता है:
- Android:
ca-app-pub-3940256099942544/6300978111 - iOS:
ca-app-pub-3940256099942544/2934735716
इन विज्ञापन यूनिट आईडी को खास तौर पर इस तरह कॉन्फ़िगर किया गया है कि हर अनुरोध के लिए टेस्ट विज्ञापन दिखाए जा सकें. इसलिए, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, इनका इस्तेमाल अपने ऐप्लिकेशन में किया जा सकता है. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, इन्हें अपने विज्ञापन यूनिट आईडी से बदल लें.
Mobile Ads SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापन लेख पढ़ें.
लागू करना
AdView को कॉन्फ़िगर करना
बैनर विज्ञापन, AdView ऑब्जेक्ट में दिखते हैं. इसलिए, बैनर विज्ञापनों को इंटिग्रेट करने के लिए, सबसे पहले AdView बनाएं और उसे पोज़िशन करें.
अपने ऐप्लिकेशन के C++ कोड में, यह हेडर जोड़ें:
#include "firebase/gma/ad_view.h"
AdViewऑब्जेक्ट का एलान करें और उसे इंस्टैंशिएट करें:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
AdSizeबनाएं औरAdParentपैरंट व्यू का इस्तेमाल करके, विज्ञापन व्यू को शुरू करें. पैरंट व्यू, AndroidActivityका JNIjobjectरेफ़रंस या iOSUIViewका पॉइंटर होता है, जिसेAdParentटाइप में कास्ट किया जाता है:// 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); फ़्यूचर को वैरिएबल के तौर पर बनाए रखने के बजाय,
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. }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 कॉन्स्टैंट |
|---|---|---|---|
| 320x50 | बैनर | फ़ोन और टैबलेट | kBanner |
| 320x100 | बड़ा बैनर | फ़ोन और टैबलेट | kLargeBanner |
| 300x250 | IAB मीडियम रेक्टैंगल | फ़ोन और टैबलेट | kMediumRectangle |
| 468x60 | IAB फ़ुल-साइज़ बैनर | टैबलेट | kFullBanner |
| 728x90 | IAB लीडरबोर्ड | टैबलेट | kLeaderboard |
| दी गई चौड़ाई x अडैप्टिव ऊंचाई | अडैप्टिव बैनर | फ़ोन और टैबलेट | लागू नहीं |
विज्ञापन के कस्टम साइज़
बैनर का कस्टम साइज़ तय करने के लिए,
firebase::gma::AdSize
कंस्ट्रक्टर का इस्तेमाल करके, अपनी पसंद के डाइमेंशन सेट करें. इसके लिए, चौड़ाई और ऊंचाई के पैरामीटर का इस्तेमाल करें. जैसा कि यहां दिखाया गया है:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
अन्य संसाधन
GitHub में उदाहरण
- GitHub में, हमारे उदाहरण वाले क्विकस्टार्ट ऐप्लिकेशन का सोर्स कोड देखें.