विज्ञापन पहले से लोड करना (बीटा वर्शन)

प्लैटफ़ॉर्म चुनें: Android iOS Unity Android (लेगसी)

विज्ञापन को पहले से लोड करने की सुविधा, Google की ओर से मैनेज की जाती है. यह Google Mobile Ads SDK (Legacy) में विज्ञापन लोड करने की सुविधा है. यह आपकी ओर से विज्ञापन लोड करने और उन्हें कैश मेमोरी में सेव करने की सुविधा को मैनेज करती है. विज्ञापन को पहले से लोड करने की सुविधा के लिए, आपको विज्ञापन लोड करने के तरीके में बदलाव करना होगा. विज्ञापन प्रीलोडिंग का इस्तेमाल करके परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के लिए, कस्टम कैश मेमोरी की सुविधा बंद करें और इसकी ज़िम्मेदारी Google Mobile Ads SDK (Legacy) को सौंपें.

विज्ञापन को पहले से लोड करने की सुविधा से, मैन्युअल तरीके से विज्ञापन लोड करने की तुलना में ये फ़ायदे मिलते हैं:

  • रेफ़रंस मैनेजमेंट: यह सुविधा, लोड किए गए विज्ञापनों को सेव करके रखती है, ताकि आपको तब तक रेफ़रंस बनाए रखने की ज़रूरत न पड़े, जब तक आप उन्हें दिखाने के लिए तैयार न हों.
  • अपने-आप रीलोड होने की सुविधा: जब कैश मेमोरी से कोई विज्ञापन हटाया जाता है, तो यह सुविधा अपने-आप एक नया विज्ञापन लोड कर देती है.
  • रीट्राय को मैनेज करना: यह सुविधा, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके, पूरे नहीं किए जा सके अनुरोधों को अपने-आप फिर से भेजती है.
  • समयसीमा खत्म होने से जुड़ी सेटिंग: यह सेटिंग, विज्ञापन की समयसीमा खत्म होने से पहले (आम तौर पर एक घंटे बाद) उन्हें अपने-आप रीफ़्रेश करती है.
  • कैश मेमोरी का ऑप्टिमाइज़ेशन: अगर कैश मेमोरी का साइज़ एक से ज़्यादा है, तो Google Mobile Ads SDK (Legacy) सबसे अच्छा विज्ञापन दिखाने के लिए, कैश मेमोरी के क्रम को ऑप्टिमाइज़ करता है.

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

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

इस ट्यूटोरियल को पूरा करने से पहले, आपको Google Mobile Ads SDK (Legacy) सेट अप करना होगा.

विज्ञापनों को पहले से लोड करना शुरू करें

ऐप्लिकेशन शुरू होने पर, start तरीके को एक बार कॉल करें. start तरीके को कॉल करने के बाद, Google Mobile Ads SDK (Legacy) अपने-आप विज्ञापनों को प्रीलोड करता है. साथ ही, प्रीलोड किए गए कॉन्फ़िगरेशन के लिए, फ़ेल हुए अनुरोधों को फिर से भेजता है.

यहां दिए गए उदाहरण में, विज्ञापनों को पहले से लोड करने की सुविधा शुरू की गई है:

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

Java

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

AD_UNIT_ID की जगह अपना विज्ञापन यूनिट आईडी डालें.

पहले से लोड किए गए विज्ञापन को पाना और दिखाना

विज्ञापन प्रीलोडिंग का इस्तेमाल करते समय, Google Mobile Ads SDK (Legacy) कैश मेमोरी में सेव किए गए विज्ञापनों को सेव करता है. जब आपको कोई विज्ञापन दिखाना हो, तब pollAd तरीके को कॉल करें. Google Mobile Ads SDK (Legacy) उपलब्ध विज्ञापन को फिर से दिखाता है और बैकग्राउंड में अगले विज्ञापन को अपने-आप प्रीलोड करता है.

जब तक विज्ञापन दिखाने के लिए तैयार न हों, तब तक pollAd मेथड का इस्तेमाल न करें. विज्ञापनों को कैश मेमोरी में सेव रखने से, Google Mobile Ads SDK (Legacy) की मदद से समयसीमा खत्म हो चुके विज्ञापनों को अपने-आप रीफ़्रेश किया जा सकता है. साथ ही, कैश मेमोरी को ऑप्टिमाइज़ किया जा सकता है.

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

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

Java

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

विज्ञापन प्रीलोड करने की सुविधा की उपलब्धता की जांच करना

विज्ञापन की उपलब्धता की जांच करने के लिए, इनमें से कोई एक विकल्प चुनें:

पहले से लोड किए गए विज्ञापन की उपलब्धता की जानकारी पाना

यहां दिए गए उदाहरण में, विज्ञापन की उपलब्धता की जांच की गई है:

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Java

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

पहले से लोड किए गए विज्ञापन की उपलब्धता के बारे में सुनना

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

प्रीलोड इवेंट का इस्तेमाल, आंकड़ों के लिए किया जाता है. प्रीलोड इवेंट के कॉलबैक में:

  • start पर कॉल न करें.
  • जब तक विज्ञापन तुरंत नहीं दिखाया जाना हो, तब तक pollAd को कॉल न करें.

यहां दिए गए उदाहरण में, विज्ञापन इवेंट के लिए रजिस्टर किया गया है:

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

Java

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

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

अगर आपको सेशन में किसी प्रीलोड आईडी के लिए विज्ञापन फिर से नहीं दिखाने हैं, तो विज्ञापनों को प्रीलोड करना बंद किया जा सकता है. किसी खास प्रीलोड आईडी के लिए, विज्ञापनों को प्रीलोड करने की सुविधा बंद करने के लिए, प्रीलोड आईडी के साथ destroy को कॉल करें. सभी प्रीलोडर के लिए प्रीलोडिंग रोकने के लिए, destroyAll को कॉल करें.

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

Java

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

बफ़र का साइज़ सेट करना

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

Kotlin

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build()

Java

// Define a PreloadConfiguration and buffer up to 3 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(3).build();

प्रीलोड कैश मेमोरी की सीमाएं

Google Mobile Ads SDK (Legacy), ऐप्लिकेशन में पहले से लोड किए गए विज्ञापनों की कुल संख्या पर सीमा लागू करता है. यह सीमा, सभी विज्ञापन यूनिट और प्रीलोड आईडी पर लागू होती है:

  • डिफ़ॉल्ट सीमा: Google Mobile Ads SDK (Legacy) में ज़्यादा से ज़्यादा छह प्रीलोड किए गए विज्ञापन सेव किए जा सकते हैं. यह सीमा, सभी फ़ॉर्मैट और प्रीलोड आईडी के लिए एक जैसी होती है.
  • हमारा सुझाव है कि हर प्रीलोड आईडी के लिए, बफ़र साइज़ 2 या 3 रखें.