मध्यवर्ती विज्ञापन

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

इस गाइड में Google Mobile Ads C++ SDK टूल का इस्तेमाल करके, Android और iOS ऐप्लिकेशन में इंटरस्टीशियल विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है.

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

  • शुरू करें को पूरा करें.
  • (सिर्फ़ Android के लिए) जेएनआई jobject रेफ़रंस के साथ काम करने की जानकारी (Android JNI सलाह देखें).

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

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

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

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

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

मोबाइल विज्ञापन SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानकारी के लिए विज्ञापनों की जांच करना लेख पढ़ें.

लागू करने का तरीका

पेज पर अचानक दिखने वाले विज्ञापनों को जोड़ने के मुख्य चरण ये हैं:

  1. एक विज्ञापन लोड करें.
  2. कॉलबैक के लिए रजिस्टर करें.
  3. विज्ञापन को दिखाता है और उसके लाइफ़साइकल इवेंट को मैनेज करता है.

InterstitialAd को कॉन्फ़िगर करें

पेज पर अचानक दिखने वाले विज्ञापन InterstitialAd ऑब्जेक्ट में दिखाए जाते हैं. इसलिए, अपने ऐप्लिकेशन में पेज पर अचानक दिखने वाले विज्ञापनों को इंटिग्रेट करने के लिए, सबसे पहले InterstitialAd ऑब्जेक्ट बनाएं और उसे शुरू करें.

  1. अपने ऐप्लिकेशन के C++ कोड में, यह हेडर जोड़ें:

     #include "firebase/gma/interstial_ad.h"
    

  2. InterstitialAd ऑब्जेक्ट का एलान करें और उसे इंस्टैंशिएट करें:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. किसी AdParent टाइप के लिए, अपने पैरंट व्यू कास्ट का इस्तेमाल करके InterstitialAd इंस्टेंस को शुरू करें. पैरंट व्यू, Android Activity का JNI jobject या iOS UIView का पॉइंटर है.

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. आने वाले समय को वैरिएबल के तौर पर बनाए रखने के विकल्प के तौर पर, समय-समय पर InterstitialAd ऑब्जेक्ट पर InitializeLastResult() को शुरू करके, शुरू करने की कार्रवाई की स्थिति की जांच की जा सकती है. इससे आपके ग्लोबल गेम लूप में, शुरू करने की प्रोसेस को ट्रैक करने में मदद मिल सकती है.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

firebase::Future के साथ काम करने के बारे में ज़्यादा जानकारी के लिए, ईमेल के किसी एक तरीके के कॉल पूरे होने की स्थिति पर नज़र रखने के लिए, फ़्यूचर्स का इस्तेमाल करें देखें.

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

किसी विज्ञापन को लोड करने के लिए, InterstitialAd ऑब्जेक्ट पर LoadAd() तरीके का इस्तेमाल किया जाता है. लोड करने के तरीके के लिए, आपको InterstitialAd ऑब्जेक्ट शुरू करना होगा. साथ ही, आपके पास विज्ञापन यूनिट आईडी और AdRequest ऑब्जेक्ट भी होना चाहिए. इससे एक firebase::Future मिलता है, जिसका इस्तेमाल करके लोड कार्रवाई की स्थिति और उसके नतीजे को मॉनिटर किया जा सकता है.

इस कोड से पता चलता है कि InterstitialAd शुरू होने के बाद, विज्ञापन कैसे लोड किया जाए:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

कॉलबैक के लिए रजिस्टर करें

इंटरस्टीशियल विज्ञापन प्रज़ेंटेशन और लाइफ़साइकल इवेंट की सूचनाएं पाने के लिए, आपको FullScreenContentListener क्लास को बढ़ाना होगा. आपकी कस्टम FullScreenContentListener सब-क्लास को InterstitialAd::SetFullScreenContentListener() तरीके से रजिस्टर किया जा सकता है. विज्ञापन के ख़ारिज होने या असफल होने पर, उसे कॉलबैक किया जाएगा. साथ ही, इसे ख़ारिज किए जाने पर भी कॉलबैक किए जाएंगे.

नीचे दिए गए कोड में क्लास का दायरा बढ़ाने और उसे विज्ञापन में असाइन करने का तरीका बताया गया है:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd एक बार इस्तेमाल किया जाने वाला ऑब्जेक्ट है. इसका मतलब है कि एक बार पेज पर अचानक दिखने वाला विज्ञापन दिखने के बाद, उसे फिर से नहीं दिखाया जा सकता. इसका सबसे सही तरीका है कि आप अपने FullScreenContentListener के OnAdDismissedFullScreenContent() तरीके में, पेज पर अचानक दिखने वाला दूसरा विज्ञापन लोड करें, ताकि पिछला विज्ञापन खारिज होने पर, अगला पेज जल्द ही लोड होना शुरू हो जाए.

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

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

  firebase::Future<void> result = interstitial_ad->Show();

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

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

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

GitHub में उदाहरण

मोबाइल विज्ञापन गैराज के वीडियो ट्यूटोरियल

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

अगले चरण