विज्ञापन को पहले से लोड करने की सुविधा, Google की ओर से मैनेज की जाती है. यह Google Mobile Ads Unity Plugin में विज्ञापन लोड करने की सुविधा है. यह आपकी ओर से विज्ञापन लोड करने और उन्हें कैश मेमोरी में सेव करने की सुविधा को मैनेज करती है. विज्ञापन को पहले से लोड करने के लिए, विज्ञापन लोड करने के तरीके में बदलाव करना ज़रूरी है. विज्ञापन प्रीलोडिंग का इस्तेमाल करके परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के लिए, कस्टम कैश मेमोरी को बंद करें और इस काम की ज़िम्मेदारी Google Mobile Ads Unity Plugin को सौंपें.
विज्ञापन को पहले से लोड करने की सुविधा, विज्ञापन को मैन्युअल तरीके से लोड करने की तुलना में ये फ़ायदे देती है:
- रेफ़रंस मैनेजमेंट: यह सुविधा, लोड किए गए विज्ञापनों को सेव करके रखती है. इससे आपको तब तक रेफ़रंस बनाए रखने की ज़रूरत नहीं पड़ती, जब तक आप उन्हें दिखाने के लिए तैयार न हों.
- अपने-आप रीलोड होने की सुविधा: जब कैश मेमोरी से कोई विज्ञापन निकाला जाता है, तो यह सुविधा अपने-आप एक नया विज्ञापन लोड कर देती है.
- रीट्राय को मैनेज करना: यह सुविधा, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके, पूरे नहीं किए जा सके अनुरोधों को अपने-आप फिर से भेजती है.
- समयसीमा खत्म होने से जुड़ी सेटिंग: यह सेटिंग, विज्ञापन की समयसीमा खत्म होने से पहले (आम तौर पर एक घंटे बाद) उन्हें अपने-आप रीफ़्रेश करती है.
- कैश मेमोरी का ऑप्टिमाइज़ेशन: अगर एक से ज़्यादा कैश मेमोरी का इस्तेमाल किया जाता है, तो Google Mobile Ads Unity Plugin सबसे अच्छा विज्ञापन दिखाने के लिए कैश मेमोरी के क्रम को ऑप्टिमाइज़ करता है.
इस गाइड में, पहले से लोड होने वाले विज्ञापनों को कॉन्फ़िगर करने, उनकी उपलब्धता की जांच करने, और उन्हें दिखाने के बारे में बताया गया है.
ज़रूरी शर्तें
ट्यूटोरियल शुरू करने से पहले, आपको ये काम पूरे करने होंगे:
- Google Mobile Ads Unity Plugin का 10.3.0 या इसके बाद का वर्शन इंस्टॉल करें.
- Google Mobile Ads Unity Plugin सेट अप करें पर क्लिक करें.
Android SDK टूल के
24.4.0वर्शन और iOS SDK टूल के12.6.0वर्शन का इस्तेमाल करें.ज़रूरी नहीं: विज्ञापन प्रीलोड करने का उदाहरण देने वाला ऐप्लिकेशन डाउनलोड करें और उसे चलाएं.
विज्ञापनों को पहले से लोड करना शुरू करें
विज्ञापनों को पहले से लोड करने की सुविधा शुरू करने के लिए, 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 उपलब्ध विज्ञापन को फिर से लोड करता है और अगले विज्ञापन को बैकग्राउंड में अपने-आप प्रीलोड करता है.
जब तक विज्ञापन दिखाने के लिए तैयार न हों, तब तक इस तरीके को कॉल न करें. विज्ञापनों को कैश मेमोरी में सेव करने से, 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() को कॉल करें.
InterstitialAdPreloader.Destroy(AD_UNIT_ID);
InterstitialAdPreloader.DestroyAll();
बफ़र का साइज़ सेट करना
बफ़र साइज़ से, मेमोरी में सेव किए गए पहले से लोड किए गए विज्ञापनों की संख्या को कंट्रोल किया जाता है. डिफ़ॉल्ट रूप से, Google बफ़र के साइज़ को ऑप्टिमाइज़ करता है, ताकि मेमोरी की खपत और विज्ञापन दिखाने में लगने वाले समय को बैलेंस किया जा सके. अगर आपका ऐप्लिकेशन, अगले विज्ञापन के लोड होने से पहले विज्ञापन दिखाता है, तो मेमोरी में रखे गए विज्ञापनों की संख्या बढ़ाने के लिए, कस्टम बफ़र साइज़ सेट किया जा सकता है. हमारा सुझाव है कि बफ़र का साइज़ ज़्यादा से ज़्यादा चार होना चाहिए.
new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
BufferSize = 5
};