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

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

ज़रूरी बातें

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 मोबाइल विज्ञापनों के साथ बैनर दिखाने के लिए, सबसे पहले विज्ञापन प्लेसमेंट बनाना और उसे कॉन्फ़िगर करना. आप Unity Editor में एसेट > Google मोबाइल विज्ञापन > विज्ञापन प्लेसमेंट से बैनर, पेज पर अचानक दिखने वाले विज्ञापन या इनाम वाले फ़ॉर्मैट का विज्ञापन चुन सकते हैं. इसके बाद, तीन डेमो विज्ञापन प्लेसमेंट सेट अप किए जाते हैं और उनका इस्तेमाल किया जा सकता है.

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

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

हर प्लेसमेंट में ये प्रॉपर्टी शामिल हैं:

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

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

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

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

जब आप'वीडियो में AdGameObject को जोड़ देंगे, तब आपको{0/}

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

AdGameObject की सेटिंग

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

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

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

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 है, तो आपको इस तरह का उदाहरण मिल सकता है:

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;

उदाहरण

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

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

सीन में 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();
        });
    }
    ...
}

&इनाम वाले विज्ञापन देखें</a> बटन की स्थिति

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

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

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

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

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

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

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

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

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

इसके बाद, बटन और #39;s Click Click() कॉलबैक में 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");
        });
    }
}

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

इनाम वाले विज्ञापन गेम ऑब्जेक्ट के लिए, इनाम कॉलबैक पर जाएं

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

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

using UnityEngine;
using GoogleMobileAds.Api;

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

सीन में किसी भी GameObject{0/} (<प्लेसमेंट प्लेसमेंट प्लेसमेंट गेम को छोड़कर) के साथ RewardedTestScript स्क्रिप्ट अटैच करें. इस उदाहरण में, इसे मुख्य Camera GameObject के साथ अटैच किया गया है.

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

मुख्य कैमरा GameObject को खींचें और छोड़ें जिसे आपने पिछले चरण में कोई नहीं (ऑब्जेक्ट) फ़ील्ड में जोड़ा है. ड्रॉप-डाउन से कॉल किए जाने के लिए कोई फ़ंक्शन चुनें. No फ़ंक्शन > इनामTestScript > OnUserWinedReward पर क्लिक करें.

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