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

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

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

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

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

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

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

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

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

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

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

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

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
    BufferSize = 2
};

पहले से लोड करने की सुविधा की कैश मेमोरी की सीमाएं

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

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