पेज पर अचानक दिखने वाले विज्ञापन (लेगसी)

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

इस गाइड में, Unity ऐप्लिकेशन में इंटरस्टीशियल विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है.

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

इंटरस्टीशियल विज्ञापन बनाना

इंटरस्टीशियल दिखाने के लिए सबसे पहले, GameObject से जुड़ी स्क्रिप्ट में InterstitialAd OBJECT बनाना होता है.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

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

  • adUnitId - वह AdMob विज्ञापन यूनिट आईडी जिससे InterstitialAd को विज्ञापन लोड करने चाहिए.

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

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

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

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

विज्ञापन लोड करना

InterstitialAd इंस्टैंशिएट होने के बाद, अगला चरण विज्ञापन लोड करना है. ऐसा करने के लिए, InterstitialAd क्लास में loadAd() तरीके का इस्तेमाल किया जाता है. यह एक AdRequest आर्ग्युमेंट लेता है, जिसमें किसी एक विज्ञापन अनुरोध के बारे में रनटाइम की जानकारी होती है. जैसे, टारगेटिंग की जानकारी.

यहां विज्ञापन लोड करने का तरीका बताने वाला उदाहरण दिया गया है:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

विज्ञापन दिखाना

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

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

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

विज्ञापन इवेंट

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

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

OnAdFailedToLoad इवेंट में खास इवेंट के आर्ग्युमेंट शामिल होते हैं. यह HandleAdFailedToLoadEventArgs का एक उदाहरण पास करता है, जिसमें Message से गड़बड़ी के बारे में बताया गया है:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
विज्ञापन इवेंटब्यौरा
OnAdLoaded OnAdLoaded इवेंट तब ट्रिगर होता है, जब विज्ञापन लोड हो जाता है.
OnAdFailedToLoad OnAdFailedToLoad इवेंट तब ट्रिगर होता है, जब कोई विज्ञापन लोड नहीं होता. Message पैरामीटर से पता चलता है कि किस तरह की गड़बड़ी हुई है.
OnAdOpening यह तरीका तब लागू होता है, जब डिवाइस की स्क्रीन को ढककर विज्ञापन दिखाया जाता है.
OnAdClosed यह तरीका तब लागू होता है, जब उपयोगकर्ता 'बंद करें' आइकॉन पर टैप करने या 'वापस जाएं' बटन का इस्तेमाल करने की वजह से, इंटरस्टीशियल विज्ञापन बंद हो जाता है. अगर आपके ऐप्लिकेशन ने ऑडियो आउटपुट या गेम लूप को रोक दिया है, तो उसे फिर से शुरू करने के लिए यह सही जगह है.

इंटरस्टीशियल विज्ञापनों को हटाना

InterstitialAd का इस्तेमाल करने के बाद, उसका रेफ़रंस हटाने से पहले, Destroy() विधि को कॉल करना न भूलें:

interstitial.Destroy();

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

सबसे सही कुछ तरीके

देखें कि आपके ऐप्लिकेशन के लिए, इंटरस्टीशियल विज्ञापन सही विज्ञापन हैं या नहीं.
इंटरस्टीशियल विज्ञापन, उन ऐप्लिकेशन में सबसे अच्छा परफ़ॉर्म करते हैं जिनमें नेचुरल ट्रांज़िशन पॉइंट होते हैं. किसी ऐप्लिकेशन में टास्क पूरा करने पर, जैसे कि इमेज शेयर करना या गेम का लेवल पूरा करना, ऐसा पॉइंट बनता है. उपयोगकर्ता को कार्रवाई में ब्रेक की उम्मीद होती है. इसलिए, उनके अनुभव में रुकावट डाले बिना, इंटरस्टीशियल विज्ञापन दिखाना आसान होता है. पक्का करें कि आपने यह तय कर लिया हो कि अपने ऐप्लिकेशन के वर्कफ़्लो में किन पॉइंट पर, पेज पर अचानक दिखने वाले विज्ञापन दिखाए जाएंगे. साथ ही, यह भी तय कर लें कि उपयोगकर्ता इन विज्ञापनों पर कैसा रिस्पॉन्स दे सकता है.
पेज पर अचानक दिखने वाला विज्ञापन दिखाते समय, कार्रवाई को रोकना न भूलें.
पेज पर अचानक दिखने वाले विज्ञापन कई तरह के होते हैं: टेक्स्ट, इमेज, वीडियो वगैरह. यह पक्का करना ज़रूरी है कि जब आपका ऐप्लिकेशन इंटरस्टीशियल विज्ञापन दिखाता है, तो वह कुछ संसाधनों के इस्तेमाल को भी निलंबित कर देता है, ताकि विज्ञापन उनका फ़ायदा ले सके. उदाहरण के लिए, अचानक दिखने वाला विज्ञापन दिखाने के लिए कॉल करते समय, अपने ऐप्लिकेशन से जनरेट होने वाले किसी भी ऑडियो आउटपुट को रोकना न भूलें. onAdClosed() इवेंट हैंडलर में आवाज़ें फिर से चलाई जा सकती हैं. इवेंट हैंडलर तब चालू होगा, जब उपयोगकर्ता विज्ञापन के साथ इंटरैक्ट करना बंद कर देगा. इसके अलावा, विज्ञापन दिखाने के दौरान, कुछ समय के लिए ज़्यादा कंप्यूटेशन वाले टास्क (जैसे, गेम लूप) को रोकने पर विचार करें. इससे यह पक्का किया जा सकेगा कि उपयोगकर्ता को स्लो या काम न करने वाले ग्राफ़िक या रुक-रुककर चलने वाले वीडियो का अनुभव न मिले.
लोड होने में ज़रूरत के मुताबिक समय दें.
इंटरस्टीशियल विज्ञापनों को सही समय पर दिखाना ज़रूरी है. साथ ही, यह भी ज़रूरी है कि उपयोगकर्ता को उन्हें लोड होने में इंतज़ार न करना पड़े. show() को कॉल करने से पहले, loadAd() को कॉल करके विज्ञापन को पहले से लोड करने पर, यह पक्का किया जा सकता है कि जब भी विज्ञापन दिखाना हो, आपके ऐप्लिकेशन में इंटरस्टीशियल विज्ञापन पूरी तरह से लोड हो.
उपयोगकर्ता को विज्ञापनों से परेशान न करें.
ऐसा लग सकता है कि अपने ऐप्लिकेशन में इंटरस्टीशियल विज्ञापनों की फ़्रीक्वेंसी बढ़ाने से, रेवेन्यू बढ़ेगा. हालांकि, इससे उपयोगकर्ता अनुभव खराब हो सकता है और क्लिक मिलने की दर कम हो सकती है. पक्का करें कि उपयोगकर्ताओं को बार-बार विज्ञापनों से इतना परेशान न किया जाए कि वे आपके ऐप्लिकेशन का आनंद न ले पाएं.

अन्य संसाधन

सैंपल

सफलता की कहानियां