बैनर विज्ञापन सेट अप करना

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

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

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

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

जारी रखने से पहले, Google Mobile Ads Unity Plugin सेट अप करें.

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

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

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

/21775744923/example/interstitial

Google Mobile Ads Unity Plugin को शुरू करें

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

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        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 टूल में इस सुविधा को लागू करने से पहले, एक ऐसा लाइन आइटम बनाएं जो अलग-अलग साइज़ के क्रिएटिव से जुड़ी विज्ञापन यूनिट को टारगेट करता हो.

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

// 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 क्लास में 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 Unity Plugin, Ad Manager के यूज़र इंटरफ़ेस (यूआई) में तय किए गए किसी भी रीफ़्रेश रेट का पालन करता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो नया अनुरोध करें. विज्ञापन यूनिट के रीफ़्रेश होने के बारे में ज़्यादा जानकारी के लिए, जैसे कि रीफ़्रेश रेट सेट करना, मोबाइल ऐप्लिकेशन में विज्ञापनों के लिए रीफ़्रेश रेट देखें.

बड़े अडैप्टिव बैनर, स्क्रोल न किए जा सकने वाले लेआउट के लिए डिज़ाइन किए गए बड़े फ़ॉर्मैट उपलब्ध कराते हैं. ऐंकर किए गए स्टैंडर्ड अडैप्टिव बैनर की तुलना में, इन बैनर की ऊंचाई ज़्यादा हो सकती है. यह स्क्रीन की ऊंचाई का 20% तक हो सकती है. साथ ही, यह 50 से 150 डीपी के बीच हो सकती है. इस बढ़े हुए स्पेस को वीडियो कॉन्टेंट के लिए ऑप्टिमाइज़ किया गया है.

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

डीपी में साइज़ (चौड़ाई x ऊंचाई) ब्यौरा उपलब्धता AdSize constant
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 का उदाहरण: इसमें सभी विज्ञापन फ़ॉर्मैट को मिनिमल तरीके से लागू किया गया है.