विज्ञापन को पहले से लोड करने की सुविधा (ऐल्फ़ा)

प्लैटफ़ॉर्म चुनें: Android नई सुविधा Android iOS Unity

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

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

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

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

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

ट्यूटोरियल शुरू करने से पहले, आपको ये काम पूरे करने होंगे:

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

विज्ञापनों को पहले से लोड करने की सुविधा शुरू करने के लिए, Preload() को कॉल करें. इस तरीके को हर प्रीलोड आईडी के लिए सिर्फ़ एक बार कॉल करें. हमारा सुझाव है कि ऐप्लिकेशन सेशन शुरू होने पर, इस तरीके का इस्तेमाल करें. 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 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 बफ़र साइज़ को ऑप्टिमाइज़ करता है, ताकि मेमोरी की खपत और विज्ञापन दिखाने में लगने वाले समय के बीच संतुलन बना रहे. अगर आपका ऐप्लिकेशन, अगले विज्ञापन के लोड होने से पहले विज्ञापन दिखाता है, तो मेमोरी में रखे गए विज्ञापनों की संख्या बढ़ाने के लिए, कस्टम बफ़र साइज़ सेट किया जा सकता है. हमारा सुझाव है कि बफ़र का साइज़ दो या तीन रखें.

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

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

  • डिफ़ॉल्ट सीमा: Google Mobile Ads Unity Plugin में ज़्यादा से ज़्यादा छह प्रीलोड किए गए विज्ञापन सेव किए जा सकते हैं. यह सीमा, सभी फ़ॉर्मैट और प्रीलोड आईडी के लिए एक जैसी होती है.
  • हमारा सुझाव है कि हर प्रीलोड आईडी के लिए, बफ़र का साइज़ दो या तीन रखें.
new PreloadConfiguration
{
    AdUnitId = AD_UNIT_ID,
    Request = new AdRequest(),
    BufferSize = 5
};