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

प्लैटफ़ॉर्म चुनें: Android iOS Unity Flutter

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

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

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

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

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

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

/21775744923/example/adaptive-banner

Mobile Ads SDK को शुरू करना

विज्ञापन लोड करने से पहले, अपने ऐप्लिकेशन में Mobile Ads SDK को शुरू करें. इसके लिए, MobileAds.Initialize() को कॉल करें. इसे सिर्फ़ एक बार करना होता है. सबसे सही समय, ऐप्लिकेशन लॉन्च करने के दौरान होता है.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो विज्ञापन लोड करने से पहले कॉलबैक होने तक इंतज़ार करें. इससे यह पक्का होगा कि सभी मीडिएशन अडैप्टर शुरू हो गए हैं.

BannerView का उदाहरण

यहां दिए गए सैंपल कोड में, बैनर व्यू का इस्तेमाल करने का तरीका बताया गया है. इस उदाहरण में, बैनर व्यू का एक इंस्टेंस बनाएं. इसके बाद, बैनर व्यू में विज्ञापन लोड करने के लिए AdManagerAdRequest का इस्तेमाल करें. इसके बाद, लाइफ़साइकल इवेंट मैनेज करके इसकी क्षमताओं को बढ़ाएं.

बैनर व्यू बनाना

बैनर व्यू का इस्तेमाल करने के लिए, सबसे पहले बैनर व्यू का इंस्टेंस बनाएं.

// Create a 320x50 banner at top of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

AD_UNIT_ID की जगह अपना विज्ञापन यूनिट आईडी डालें.

AdManagerBannerView के कंस्ट्रक्टर में ये पैरामीटर होते हैं:

  • adUnitId: लोड किए जाने वाले बैनर विज्ञापन की यूनिट का आईडी.
  • AdSize: आपको जिस बैनर साइज़ का इस्तेमाल करना है.
  • AdPosition: वह जगह जहां बैनर व्यू को रखा जाना चाहिए.

(ज़रूरी नहीं) कस्टम पोज़िशन के साथ बैनर व्यू बनाना

AdPosition वैल्यू से ज़्यादा कंट्रोल पाने के लिए, स्क्रीन पर बैनर व्यू को कहां रखा जाए, इसके लिए ऐसे कंस्ट्रक्टर का इस्तेमाल करें जिसमें x- और y-कोऑर्डिनेट पैरामीटर के तौर पर हों:

// Create a 320x50 banner views at coordinate (0,50) on screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, 0, 50);

बैनर व्यू का सबसे ऊपर बायां कोना, कंस्ट्रक्टर को पास की गई x और y वैल्यू पर होता है. इसमें ऑरिजिन, स्क्रीन का सबसे ऊपर बायां हिस्सा होता है.

(ज़रूरी नहीं) कस्टम साइज़ वाला बैनर व्यू बनाएं

AdSize कॉन्स्टेंट का इस्तेमाल करने के अलावा, अपने विज्ञापन के लिए कस्टम साइज़ भी तय किया जा सकता है:

// Create a 250x250 banner at the bottom of the screen.
AdSize adSize = new AdSize(250, 250);
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", adSize, AdPosition.Bottom);

(ज़रूरी नहीं) विज्ञापन के एक से ज़्यादा साइज़

Ad Manager की मदद से, एक से ज़्यादा विज्ञापन साइज़ तय किए जा सकते हैं. ये साइज़, AdManagerBannerView में विज्ञापन दिखाने की ज़रूरी शर्तें पूरी कर सकते हैं. SDK में इस सुविधा को लागू करने से पहले, एक ऐसा लाइन आइटम बनाएं जो अलग-अलग साइज़ के क्रिएटिव से जुड़ी एक ही विज्ञापन यूनिट को टारगेट करता हो.

अपने ऐप्लिकेशन में, AdSize में कई AdSize पैरामीटर पास करें:ValidAdSizes

// Create a 250x250 banner at the bottom of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

// Add multiple ad sizes.
adManagerBannerView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner,
    new AdSize(120, 20),
    new AdSize(250, 250),
};

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

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

AdManagerBannerView को लागू करने के बाद, AdManagerBannerView क्लास में AdManagerBannerView तरीके का इस्तेमाल करके विज्ञापन लोड करें.LoadAd() यह एक ऐसा पैरामीटर लेता है जिसमें रनटाइम की जानकारी होती है. जैसे, टारगेटिंग की जानकारी, बाहर रखे गए लेबल, और पब्लिशर का दिया गया आईडी.

विज्ञापन लोड करने के लिए, एक AdManagerAdRequest बनाएं और उसे LoadAd() तरीके से पास करें.

// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());

बैनर व्यू इवेंट सुनने की अनुमति

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

adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};

बैनर व्यू को डिस्ट्रॉय करना

बैनर व्यू का इस्तेमाल पूरा होने के बाद, Destroy() को कॉल करके संसाधनों को रिलीज़ करना न भूलें.

if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}

हो गया! आपका ऐप्लिकेशन अब बैनर विज्ञापन दिखाने के लिए तैयार है.

विज्ञापन रीफ़्रेश करना

अगर आपने विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया है, तो विज्ञापन लोड न होने पर आपको किसी दूसरे विज्ञापन का अनुरोध करने की ज़रूरत नहीं है. Google Mobile Ads SDK, Ad Manager के यूज़र इंटरफ़ेस (यूआई) में तय की गई रीफ़्रेश दर का पालन करता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो नया अनुरोध करें. विज्ञापन यूनिट रीफ़्रेश करने के बारे में ज़्यादा जानने के लिए, मोबाइल ऐप्लिकेशन में दिखने वाले विज्ञापनों के लिए रीफ़्रेश दर लेख पढ़ें. इस लेख में, रीफ़्रेश दर सेट करने के बारे में भी बताया गया है.

यहां दी गई टेबल में, स्टैंडर्ड बैनर के साइज़ दिए गए हैं:

डीपी में साइज़ (चौड़ाई x ऊंचाई) ब्यौरा उपलब्धता AdSize कॉन्सटेंट
320x50 स्टैंडर्ड बैनर फ़ोन और टेबलेट BANNER
320x100 बड़ा बैनर फ़ोन और टेबलेट LARGE_BANNER
300x250 IAB मीडियम रेक्टैंगल फ़ोन और टेबलेट MEDIUM_RECTANGLE
468x60 IAB का फ़ुल-साइज़ बैनर टैबलेट FULL_BANNER
728x90 IAB लीडरबोर्ड टैबलेट LEADERBOARD
दी गई चौड़ाई x ज़रूरत के हिसाब से ऊंचाई अडैप्टिव बैनर फ़ोन और टेबलेट लागू नहीं
स्क्रीन की चौड़ाई x 32|50|90 स्मार्ट बैनर फ़ोन और टेबलेट SMART_BANNER
अडैप्टिव बैनर के बारे में ज़्यादा जानें. इन्हें स्मार्ट बैनर की जगह इस्तेमाल किया जाता है.

ऐप्लिकेशन इवेंट

ऐप्लिकेशन इवेंट की मदद से, ऐसे विज्ञापन बनाए जा सकते हैं जो ऐप्लिकेशन कोड को मैसेज भेज सकते हैं. इसके बाद, ऐप्लिकेशन इन मैसेज के आधार पर कार्रवाइयां कर सकता है.

AppEvent का इस्तेमाल करके, Ad Manager के लिए खास तौर पर बनाए गए ऐप्लिकेशन इवेंट सुने जा सकते हैं. ये इवेंट, विज्ञापन के लाइफ़साइकल के दौरान कभी भी हो सकते हैं. लोड होने से पहले भी ऐसा हो सकता है.

OnAppEventReceived तब ट्रिगर होता है, जब विज्ञापन में कोई ऐप्लिकेशन इवेंट होता है. यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि अपने कोड में इस इवेंट को कैसे हैंडल करें:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};

यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि रंग के नाम वाले ऐप्लिकेशन इवेंट के आधार पर, ऐप्लिकेशन के बैकग्राउंड का रंग कैसे बदला जाता है:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            renderer.material.color = color;
        }
    }
};

यहां, रंग भरने वाले ऐप्लिकेशन से इवेंट भेजने वाला क्रिएटिव दिया गया है:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0;
      left: 0;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

अन्य संसाधन

  • HelloWorld का उदाहरण: इसमें सभी विज्ञापन फ़ॉर्मैट को कम से कम लागू किया गया है.