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

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

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

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

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

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

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

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

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

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

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

var preloadConfiguration = new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
};

// Start the preloading initialization process after MobileAds.Initialize().
InterstitialAdPreloader.Preload(
    // The Preload ID can be any unique string to identify this configuration.
    "AD_UNIT_ID",
    preloadConfiguration);

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

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

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

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

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

if (ad != null)
{
    // [Optional] Interact with the ad object as needed.
    ad.OnAdPaid += (AdValue value) =>
    {
        Debug.Log($"Ad paid: {value.CurrencyCode} {value.Value}");
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
    };

    // Do not hold onto preloaded ads, always show a preloaded ad immediately.
    ad.Show();
}

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

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

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

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

var isAdAvailable = InterstitialAdPreloader.IsAdAvailable("AD_UNIT_ID");

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

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

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

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

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


void StartPreloadWithCallbacks()
{
    var preloadConfiguration = new PreloadConfiguration
    {
        AdUnitId = "AD_UNIT_ID",
        Request = new AdRequest(),
    };

    // Start the preloading initialization process after MobileAds.Initialize().
    InterstitialAdPreloader.Preload(
        // The Preload ID can be any unique string to identify this configuration.
        "AD_UNIT_ID",
        preloadConfiguration,
        onAdPreloaded,
        onAdFailedToPreload,
        onAdsExhausted);
}

void onAdPreloaded(string preloadId, ResponseInfo responseInfo)
{
    Debug.Log($"Preload ad configuration {preloadId} was preloaded.");
}

void onAdFailedToPreload(string preloadId, AdError adError)
{
    string errorMessage = $"Preload ad configuration {preloadId} failed to " +
                          $"preload with error : {adError.GetMessage()}.";
    Debug.Log(errorMessage);
}

void onAdsExhausted(string preloadId)
{
    Debug.Log($"Preload ad configuration {preloadId} was exhausted");
    // [Important] Don't call Preload() or DequeueAd() from onAdsExhausted.
}

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

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

InterstitialAdPreloader.Destroy("AD_UNIT_ID");
InterstitialAdPreloader.DestroyAll();

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

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

new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
    BufferSize = 3
};

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

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

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