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

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

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

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

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

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

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

/6499/example/banner

Mobile Ads SDK शुरू करें

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

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.
        });
    }
}

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

बैनर व्यू का उदाहरण

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

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

बैनर व्यू का इस्तेमाल करने का पहला चरण है, GameObject से जुड़ी C# स्क्रिप्ट में बैनर व्यू का इंस्टेंस बनाना.


  // This ad unit is configured to always serve test ads.
  private string _adUnitId = "/6499/example/banner";

  AdManagerBannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

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

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

प्लैटफ़ॉर्म के हिसाब से, ध्यान दें कि अलग-अलग विज्ञापन यूनिट का इस्तेमाल कैसे किया जाता है. iOS पर विज्ञापन अनुरोध करने के लिए आपको iOS विज्ञापन यूनिट का और Android पर अनुरोध करने के लिए, Android विज्ञापन यूनिट का इस्तेमाल करना होगा.

(ज़रूरी नहीं) पसंद के मुताबिक जगह वाला बैनर व्यू बनाएं

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

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

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

(ज़रूरी नहीं) पसंद के मुताबिक साइज़ वाला बैनर व्यू बनाना

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

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new AdManagerBannerView(_adUnitId, adSize, AdPosition.Bottom);

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

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

अपने ऐप्लिकेशन में, एक से ज़्यादा AdSize पैरामीटर को ValidAdSizes में पास करें:

var adView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
adView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner, new AdSize(120, 20), new AdSize(250, 250),
};

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

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

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

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateAdManagerBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdManagerAdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

बैनर व्यू इवेंट सुनना

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

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

बैनर व्यू को बंद करें

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

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

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

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

dp में साइज़ (WxH) ब्यौरा उपलब्धता 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 से जुड़े खास ऐप्लिकेशन इवेंट सुने जा सकते हैं. ये इवेंट, विज्ञापन के लाइफ़साइकल के दौरान किसी भी समय हो सकते हैं, यहां तक कि लोड को कॉल किए जाने से पहले भी.

namespace GoogleMobileAds.Api.AdManager;

/// The App event message sent from the ad.
public class AppEvent
{
    // Name of the app event.
    string Name;
    // Argument passed from the app event.
    string Value;
}

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

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

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

_bannerview.OnAppEventReceived += (AppEvent args) =>
{
  if (args.Name == "color")
  {
    Color color;
    if (ColorUtility.TryParseColor(arg.Value, out color))
    {
      gameObject.GetComponent<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: 0px;
      left: 0px;
      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>

ज़्यादा रिसॉर्स