बैनर विज्ञापन, आयत के आकार की इमेज या टेक्स्ट विज्ञापन होते हैं, जो स्क्रीन पर जगह लेते हैं. जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब वे स्क्रीन पर बने रहते हैं और एक तय समय के बाद रीफ़्रेश हो सकते हैं. अगर आप मोबाइल विज्ञापन में नए हैं{0}, तो ये शुरुआत करने के लिए एक बेहतरीन जगह है. केस स्टडी.
इस गाइड में, आपको AdMob के विज्ञापनों को Unity ऐप्लिकेशन से इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों के अलावा, इसमें बैनर के साइज़ को लेकर सही जानकारी भी दी गई है. इसके अलावा, इसमें दूसरे संसाधनों के लिंक के बारे में भी बताया गया है.
ज़रूरी बातें
शुरू करें. आपके Unity ऐप्लिकेशन में पहले से ही Google मोबाइल विज्ञापन यूनिट प्लग इन इंपोर्ट किया जाना चाहिए.
बैनर व्यू बनाएं
बैनर दिखाने के लिए पहला चरण, GameObject
से जुड़ी C# स्क्रिप्ट में BannerView
ऑब्जेक्ट बनाना है.
Unity Editor का इस्तेमाल करके, विज्ञापनों को आसानी से इंटिग्रेट करने के लिए, नया विज्ञापन प्लेसमेंट बीटा आज़माएं.
using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
private BannerView bannerView;
...
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(initStatus => { });
this.RequestBanner();
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
}
}
BannerView
के कंस्ट्रक्टर में ये पैरामीटर हैं:
adUnitId
- AdMob विज्ञापन यूनिट का आईडी, जिससेBannerView
को विज्ञापन लोड करने चाहिए.AdSize
- AdMob के विज्ञापन का साइज़ आप #39; इस्तेमाल करना चाहते हैं (ज़्यादा जानकारी के लिए बैनर साइज़ देखें).AdPosition
- वह जगह जहां बैनर विज्ञापन रखा जाना चाहिए.AdPosition
enum विज्ञापन की मान्य स्थिति की वैल्यू बताता है.
प्लैटफ़ॉर्म के आधार पर यह ध्यान देना ज़रूरी है कि अलग-अलग विज्ञापन यूनिट का इस्तेमाल कैसे किया जाता है. आपको iOS पर विज्ञापन अनुरोध करने के लिए, iOS विज्ञापन यूनिट और Android पर अनुरोध करने के लिए Android विज्ञापन यूनिट का इस्तेमाल करना होगा.
(ज़रूरी नहीं) पसंद के मुताबिक विज्ञापन का क्रम
स्क्रीन पर जहां BannerView
को AdPosition
वैल्यू से मिले पॉइंट की तुलना में ज़्यादा रखा जाता है, उस पर बेहतर कंट्रोल के लिए, BannerView
कंस्ट्रक्टर का इस्तेमाल करें, जिसमें पैरामीटर के तौर पर x- और y-कोऑर्डिनेट होते हैं:
// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);
BannerView
के सबसे ऊपर बाएं कोने को कंस्ट्रक्टर को पास किए गए x और y के मानों पर रखा जाएगा, जहां स्क्रीन का सबसे ऊपर बाईं ओर है.
(ज़रूरी नहीं) पसंद के मुताबिक बनाए गए विज्ञापन के साइज़
AdSize कॉन्सटेंट का इस्तेमाल करने के अलावा, आप अपने विज्ञापन के लिए कस्टम साइज़ भी तय कर सकते हैं:
AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);
हमेशा टेस्ट विज्ञापनों के साथ टेस्ट करें
ऊपर दिए गए नमूना कोड में एक विज्ञापन यूनिट आईडी है और आप इसके साथ # विज्ञापन का अनुरोध करने के लिए स्वतंत्र हैं. इसे हर अनुरोध के लिए, प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों को दिखाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. इससे, इस्तेमाल के लिए सुरक्षित तरीके से विज्ञापन दिखाना आसान हो जाता है.
हालांकि, जब आप AdMob यूज़र इंटरफ़ेस (यूआई) में ऐप्लिकेशन रजिस्टर करते हैं और अपने ऐप्लिकेशन में इस्तेमाल करने के लिए विज्ञापन यूनिट के आईडी बनाते हैं, तो आपको अपने डिवाइस को साफ़ तौर पर टेस्ट डिवाइस के तौर पर कॉन्फ़िगर करना होगा. यह बहुत ज़रूरी है. असली विज्ञापनों के साथ परीक्षण करना (भले ही आप उन पर कभी टैप न करें) AdMob नीति के ख़िलाफ़ है और इससे आपका खाता निलंबित हो सकता है. टेस्ट विज्ञापन पढ़ें और इस बारे में जानकारी पाएं कि जब आप कोई विज्ञापन डेवलप कर रहे होते हैं, तो उसे हमेशा टेस्ट विज्ञापन कैसे मिलते हैं.
विज्ञापन लोड करना
BannerView
को इंस्टैंशिएट करने के बाद, अगला कदम विज्ञापन लोड करना है. यह loadAd()
# तरीके से BannerView
क्लास में loadAd()
तरीका इस्तेमाल करता है. यह एक AdRequest
तर्क लेता है, जिसमें किसी एक विज्ञापन अनुरोध के बारे में रनटाइम जानकारी (जैसे, टारगेटिंग की जानकारी) होती है.
यहां एक उदाहरण दिया गया है जिसमें विज्ञापन लोड करने का तरीका बताया गया है:
... private void RequestBanner() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/2934735716"; #else string adUnitId = "unexpected_platform"; #endif // Create a 320x50 banner at the top of the screen. this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. this.bannerView.LoadAd(request); } ...
हो गया! अब आपका ऐप्लिकेशन, AdMob से बैनर विज्ञापन दिखा सकता है.
विज्ञापन इवेंट
अपने विज्ञापन के व्यवहार को और कस्टमाइज़ करने के लिए, आप विज्ञापन
की लाइफ़साइकल में कई इवेंट शामिल कर सकते हैं: लोड करना, खोलना, बंद करना वगैरह. जैसा कि नीचे दिखाया गया है, सही EventHandler
के लिए डेलीगेट करके इन इवेंट को सुनें.
... using System; using UnityEngine; using GoogleMobileAds.Api; ... public class GoogleMobileAdsDemoScript : MonoBehaviour { private BannerView bannerView; public void Start() { this.RequestBanner(); } private void RequestBanner() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/2934735716"; #else string adUnitId = "unexpected_platform"; #endif this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Called when an ad request has successfully loaded. this.bannerView.OnAdLoaded += this.HandleOnAdLoaded; // Called when an ad request failed to load. this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad; // Called when an ad is clicked. this.bannerView.OnAdOpening += this.HandleOnAdOpened; // Called when the user returned from the app after an ad click. this.bannerView.OnAdClosed += this.HandleOnAdClosed; // Called when the ad click caused the user to leave the application. this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. this.bannerView.LoadAd(request); } public void HandleOnAdLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLoaded event received"); } public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message); } public void HandleOnAdOpened(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpened event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); } public void HandleOnAdLeavingApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLeavingApplication event received"); } }
OnAdFailedToLoad
इवेंट में खास इवेंट तर्क शामिल हैं. यह एक HandleAdFailedToLoadEventArgs
के मामले में Message
के साथ गड़बड़ी की जानकारी देता है:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
MonoBehaviour.print("Banner failed to load: " + args.Message);
// Handle the ad failed to load event.
};
विज्ञापन इवेंट | ब्यौरा |
---|---|
OnAdLoaded |
OnAdLoaded इवेंट तब लागू किया जाता है, जब विज्ञापन
लोड हो जाता है. |
OnAdFailedToLoad |
जब विज्ञापन लोड नहीं हो पाता, तब OnAdFailedToLoad इवेंट का इस्तेमाल किया जाता है. Message पैरामीटर से यह पता चलता है कि
किस तरह की गड़बड़ी हुई. |
OnAdOpening |
जब उपयोगकर्ता किसी विज्ञापन पर टैप करता है, तब इस तरीके को शुरू किया जाता है. अगर आप क्लिकथ्रू ट्रैक करने के लिए किसी एनालिटिक्स पैकेज का उपयोग कर रहे हैं, तो यह रिकॉर्ड करने के लिए एक अच्छा स्थान है. |
OnAdClosed |
जब कोई उपयोगकर्ता विज्ञापन के डेस्टिनेशन यूआरएल (विज्ञापन के लैंडिंग पेज का यूआरएल) देखने के बाद ऐप्लिकेशन पर वापस आता है, तो यह तरीका अपनाया जाता है. आपके ऐप्लिकेशन में इसका इस्तेमाल, निलंबित की गई गतिविधियों को फिर से शुरू करने या इंटरैक्शन के लिए खुद को तैयार करने के लिए, कोई दूसरा ज़रूरी काम करने में किया जा सकता है. |
OnAdLeavingApplication |
इस तरीके का इस्तेमाल onAdOpened के बाद किया जाता है, जब कोई उपयोगकर्ता मौजूदा ऐप्लिकेशन (जैसे कि 'Google Play स्टोर') पर क्लिक करके
दूसरा ऐप्लिकेशन खोलता है. |
बैनर आकार
नीचे दी गई टेबल में स्टैंडर्ड बैनर साइज़ शामिल हैं.
dp में आकार (WxH) | ब्यौरा | उपलब्धता | AdSize कॉन्सटेंट |
---|---|---|---|
320x50 | स्टैंडर्ड बैनर | फ़ोन और टेबलेट | BANNER |
320x100 | बड़ा बैनर | फ़ोन और टेबलेट | LARGE_BANNER |
300x250 | IAB मध्यम आयत | फ़ोन और टेबलेट | MEDIUM_RECTANGLE |
468x60 | IAB का फ़ुल साइज़ बैनर | टैबलेट | FULL_BANNER |
728x90 | आईएबी लीडरबोर्ड | टैबलेट | LEADERBOARD |
दी गई चौड़ाई x अडैप्टिव ऊंचाई | अडैप्टिव बैनर | फ़ोन और टेबलेट | लागू नहीं |
स्क्रीन की चौड़ाई x 32|50|90 | स्मार्ट बैनर | फ़ोन और टेबलेट | SMART_BANNER |
अडैप्टिव बैनर, स्मार्ट बैनर को बदलने के बारे में ज़्यादा जानें. |
बैनर विज्ञापन हटाएं
जब आप BannerView
खत्म कर लें, तो अपनी पहचान फ़ाइल को इस संदर्भ से हटाने से पहले, Destroy()
कॉल को कॉल करना न भूलें:
bannerView.Destroy();
इससे प्लग इन को सूचना मिलती है कि ऑब्जेक्ट को अब इस्तेमाल नहीं किया जा रहा है और इस मेमोरी पर फिर से दावा किया जा सकता है. इस तरीके को कॉल न कर पाने की वजह से मेमोरी लीक हो जाती है.