विज्ञापन स्‍थापना

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

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

Google मोबाइल विज्ञापन SDK शुरू करें

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

using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...
    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            // SDK initialization is complete
        });
        ...
    }
}

विज्ञापन प्लेसमेंट बनाना

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

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

विज्ञापन प्लेसमेंट कॉन्फ़िगरेशन

हर प्लेसमेंट में ये प्रॉपर्टी होती हैं:

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

नीचे दिया गया स्क्रीनशॉट, मेरे शानदार बैनर को विज्ञापन प्लेसमेंट का उदाहरण दिखाता है.

सीन में AdGameObject जोड़ना

आप यूनिटी एडिटर में GameObject > Google मोबाइल विज्ञापन का इस्तेमाल करके, बैनर या पेज पर अचानक दिखने वाले विज्ञापनों या इनाम वाले फ़ॉर्मैट के लिए AdGameObject जोड़ सकते हैं. सक्रिय दृश्य में प्लेसमेंट जोड़ने के लिए प्रारूप चुनें.

सीन में AdGameObject जोड़ने के बाद, आप एक यूनिट को दिखाई देंगे. यह गेम यूनिट को, यूनिटी एडिटर के हैरारकी व्यू में दिखेगा.

आप GameObject का नाम बदलकर प्लेसमेंट का नाम बदल सकते हैं. नीचे दिए गए स्क्रीनशॉट में बैनर विज्ञापन वाले AdGameObject का एक उदाहरण दिया गया है.

AdGameObject की सेटिंग

विज्ञापन गेम ऑब्जेक्ट (स्क्रिप्ट) कॉम्पोनेंट की सेटिंग में, इंस्पेक्टर व्यू से AdGameObject को कॉन्फ़िगर किया जा सकता है.

विज्ञापन प्लेसमेंट

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

BannerAdGameObject कॉन्फ़िगरेशन (सिर्फ़ बैनर)

  • साइज़ - उस बैनर का साइज़ चुनें जो आपको इस्तेमाल करना है.
    • एंकर किए गए अडैप्टिव बैनर से आपको कुछ और विकल्प मिलते हैं:
      • ओरिएंटेशन - विज्ञापन की ऊंचाई का हिसाब लगाने के लिए इस्तेमाल किया जाने वाला डिवाइस ओरिएंटेशन चुनें.
      • फ़ुल स्क्रीन चौड़ाई का इस्तेमाल करें - सही का निशान लगाने पर, बैनर पूरी स्क्रीन की चौड़ाई में जगह ले लेगा. अगर आप पूरी स्क्रीन की चौड़ाई का इस्तेमाल करें विकल्प से सही का निशान हटाते हैं, तो आप स्क्रीन की % चौड़ाई (50~99%) एडजस्ट कर सकते हैं.
    • कस्टम के ज़रिए आप बैनर की चौड़ाई और ऊंचाई की जानकारी दे सकते हैं.
  • विज्ञापन का क्रम - बैनर की जगह चुनें.

कॉलबैक

आपके पास विज्ञापन कॉलबैक से जुड़े फ़ंक्शन लागू करने का विकल्प है. उदाहरण के लिए, अगर आप बैनर विज्ञापन के लोड न हो पाने पर मैनेज करना चाहते हैं:

  1. विज्ञापन कॉलबैक के साथ काम करने वाला फ़ंक्शन बनाएं.

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. स्क्रिप्ट को अटैच करें, जिसमें ऊपर दिए गए फ़ंक्शन के साथ-साथ किसी भी GameObject का इस्तेमाल किया गया हो.

  3. + बटन पर क्लिक करें. इसके बाद, उस GameObject को खींचें और छोड़ें जिसमें आपने स्क्रिप्ट अटैच की है.

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

स्क्रिप्ट से AdGameObject का इस्तेमाल करें

स्क्रिप्ट से AdGameObject इंस्टेंस पाएं

सभी AdGameObject ऑब्जेक्ट में सुविधा के तरीके LoadAd() हैं. इससे एक सादा, AdRequest टारगेट नहीं किया गया विज्ञापन लोड होगा. टारगेटिंग लागू करने के लिए, आपको अपने कॉन्फ़िगर किए गए विज्ञापन अनुरोध का इस्तेमाल करके, LoadAd(AdRequest adRequest) का इस्तेमाल करना चाहिए.

AdGameObject का इंस्टेंस पाने के लिए, हर फ़ॉर्मैट के लिए यह तरीका अपनाएं:

MobileAds.Instance.GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

BannerAdGameObject ऑब्जेक्ट में सुविधा के तरीके Hide() और Show() भी हैं.

मध्यवर्ती

MobileAds.Instance.GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

दिए गए InterstitialAdGameObject ऑब्जेक्ट को आसानी से इस्तेमाल किया जा सकता है ShowIfLoaded().

इनाम दिया गया

MobileAds.Instance.GetAd<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

दिए गए RewardedAdGameObject ऑब्जेक्ट को आसानी से इस्तेमाल किया जा सकता है ShowIfLoaded().

उदाहरण के लिए, आपको BannerAdGameObject का इंस्टेंस मिल सकता है और उसे इस तरह लोड किया जा सकता है:

using UnityEngine;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class BannerTestScript : MonoBehaviour
{
    BannerAdGameObject bannerAd;

    void Start()
    {
        bannerAd = MobileAds.Instance
            .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

        bannerAd.LoadAd();
        ...
    }
    ...
}

अगर BannerAdGameObject का नाम बैनरAd है, तो इसका उदाहरण मिल सकता है:

MobileAds.Instance.GetAd<BannerAdGameObject>("BannerAd");

AdGameObject में मौजूद विज्ञापन ऑब्जेक्ट ऐक्सेस करें

ये स्निपेट, AdGameObject से जुड़े बुनियादी विज्ञापन ऑब्जेक्ट को ऐक्सेस करने का तरीका बताते हैं.

BannerAdGameObject bannerAd = MobileAds.Instance
    .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

// Access BannerView object
BannerView bannerView = bannerAd.BannerView;

मध्यवर्ती

InterstitialAdGameObject interstitialAdGameObject = MobileAds.Instance
    .GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

// Access InterstitialAd object
InterstitialAd interstitialAd = interstitialAdGameObject.InterstitialAd;

इनाम दिया गया

RewardedAdGameObject rewardedAdGameObject = MobileAds.Instance
    .Get<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

// Access RewardedAd object
RewardedAd rewardedAd = rewardedAdGameObject.RewardedAd;

उदाहरण

पेज पर अचानक दिखने वाला विज्ञापन दिखाएं

यहां एक गेम को कॉन्फ़िगर करने और विज्ञापन गेम ऑब्जेक्ट का इस्तेमाल करके, पेज पर अचानक दिखने वाले विज्ञापन को कॉन्फ़िगर करने का तरीका बताया गया है.

सीन में InterstitialAdGameObject जोड़ें और अपने-आप लोड होने की सुविधा चालू करें, ताकि सीन लोड होने पर विज्ञापन अपने-आप लोड हो जाए.

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

इसके बाद, InterstitialAdGameObject.ShowIfLoaded() फ़ंक्शन को कॉल करके, स्क्रीन ट्रांज़िशन के बीच पेज पर अचानक दिखने वाला विज्ञापन दिखाएं. नीचे दिया गया कोड, सीन ट्रांज़िशन के बीच पेज पर अचानक दिखने वाले विज्ञापन को दिखाने का उदाहरण दिखाता है.

using UnityEngine;
using UnityEngine.SceneManagement;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAd<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }

    public void OnClickShowGameSceneButton()
    {
        // Display an interstitial ad
        interstitialAd.ShowIfLoaded();

        // Load a scene named "GameScene"
        SceneManager.LoadScene("GameScene");
    }
}

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

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

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAdGameObject<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("MobileAds initialized");

            // Load an interstitial ad after the SDK initialization is complete
            interstitialAd.LoadAd();
        });
    }
    ...
}

"इनाम वाले विज्ञापन देखें" बटन की स्थिति को मैनेज करना

विज्ञापन प्लेसमेंट का इस्तेमाल करके "इनाम वाला विज्ञापन देखें" बटन को चालू करने का तरीका यहां दिया गया है.

सीन में एक Button GameObject (इस उदाहरण में Button नाम वाला) जोड़ें, जिसका इस्तेमाल एक इनाम वाला विज्ञापन दिखाने के लिए किया जाएगा. हम इस बटन को सिर्फ़ तब उपलब्ध करेंगे, जब इनाम वाला विज्ञापन उपलब्ध होगा.

Start() तरीके में, बटन की चालू स्थिति को false में बदलें. इससे सीन से बटन गायब हो जाएगा.

public class MainScene : MonoBehaviour
{
    ...
    void Start()
    {
        GameObject.Find("Button").SetActive(false);
        ...
    }
}

सीन में RewardedAdGameObject जोड़ें और ड्रॉपडाउन से AdMob डेमो इनाम वाले विज्ञापन विज्ञापन प्लेसमेंट को चुनें.

RewardedAdGameObject इंस्पेक्टर के कॉलबैक सेक्शन में, विज्ञापन लोड किया गया() बटन से + बटन पर क्लिक करें. इससे इनाम वाला विज्ञापन लोड होने पर, फ़ंक्शन को कॉल किया जा सकेगा.

वह बटन GameObject को खींचें और छोड़ें जिसे आपने पिछले चरण में कोई नहीं (ऑब्जेक्ट) फ़ील्ड में जोड़ा था. ड्रॉपडाउन से कॉल किया जाने वाला फ़ंक्शन चुनें. कोई फ़ंक्शन > गेम ऑब्जेक्ट > सेटऐक्टिव(बूल) पर क्लिक न करें, फिर चेकबॉक्स पर क्लिक करें, ताकि यह true को पैरामीटर (कॉल SetActive(true)) भेज सके.

कॉलबैक सेक्शन में, आप एक ऐसा इवेंट भी लिंक कर सकते हैं जिसे RewardedAd.OnUserEarnedReward इवेंट चालू होने पर कॉल किया जाएगा. ज़्यादा जानकारी के लिए, यह सेक्शन देखें.

इसके बाद, क्लिक करने पर इनाम वाला विज्ञापन दिखाने के लिए बटन बनाएं. बटन जांचने वाले टूल के Click () कॉलबैक सेक्शन में, + बटन पर क्लिक करें और इनाम वाला विज्ञापन प्लेसमेंट गेम ऑब्जेक्ट खींचें (इस उदाहरण में इनाम वाले विज्ञापन को नाम दें) को कोई नहीं (ऑब्जेक्ट) फ़ील्ड में छोड़ें.

इसके बाद, बटन के OnClick() कॉलबैक में, RewardedAdGameObject.ShowIfLoaded() फ़ंक्शन को अटैच करें.

आखिर में, SDK टूल को शुरू करना न भूलें. यहां दिया गया कोड स्निपेट, इस उदाहरण में इस्तेमाल किए गए सीन के लिए पूरा कोड है:

using UnityEngine;

using GoogleMobileAds.Api;

public class MainScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("Button").SetActive(false);

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }
}

प्रोजेक्ट चलाने के बाद, जब भी इनाम वाला विज्ञापन लोड होगा और दिखाए जाने के लिए तैयार होगा, तो आपको सीन पर बटन दिखेगा.

REWARDAdGameObject के लिए, इनाम का कॉलबैक कॉन्फ़िगर करें

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

एक नई स्क्रिप्ट बनाएं और एक फ़ंक्शन तय करें, जो नीचे दिए गए तरीके से पैरामीटर के तौर पर Reward को स्वीकार करे.

using UnityEngine;
using GoogleMobileAds.Api;

class RewardedTestScript : MonoBehaviour {
    ...
    public void OnUserEarnedReward(Reward reward) {
        Debug.Log("OnUserEarnedReward: reward=" +
            reward.Type + ", amount=" + reward.Amount);
    }
    ...
}

सीन में मौजूद किसी भी GameObject (विज्ञापन प्लेसमेंट गेम ऑब्जेक्ट को छोड़कर) के साथ RewardedTestScript स्क्रिप्ट अटैच करें. इस उदाहरण में, इसे मेन कैमरा गेमऑब्जेक्ट से जोड़ा गया है.

RewardedAdGameObject को सीन में जोड़ें. इसके बाद, RewardedAdGameObject इंस्पेक्टर के कॉलबैक सेक्शन में, उपयोगकर्ता के हासिल किए गए इनाम (इनाम) पर + बटन पर क्लिक करें. इससे, किसी उपयोगकर्ता को इनाम मिलने पर, फ़ंक्शन को कॉल किया जा सकेगा.

मुख्य कैमरा गेम ऑब्जेक्ट को खींचकर छोड़ें, जिसे आपने पिछले चरण में कोई नहीं (ऑब्जेक्ट) फ़ील्ड में जोड़ा था. ड्रॉपडाउन से कॉल करने के लिए कोई फ़ंक्शन चुनें. कोई फ़ंक्शन नहीं > इनाम दिया गया टेस्ट स्क्रिप्ट > OnUserBuyedReward पर क्लिक करें.

जब आप प्रोजेक्ट चलाते हैं और इनाम वाला विज्ञापन देखते हैं, तो आपको विज्ञापन के साथ इंटरैक्ट करने के लिए इनाम मिलने पर RewardedTestScript.OnUserEarnedReward() शुरू कर दिया जाएगा.