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

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

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

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

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

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

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

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

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

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

_adUnitId को अपनी विज्ञापन यूनिट के आईडी से बदलें.

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

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

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

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

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

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

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

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

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

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

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

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

प्रीलोड इवेंट का मकसद, आंकड़ों का विश्लेषण करना है. प्रीलोड इवेंट के कॉलबैक में:

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

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

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

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

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

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

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

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

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

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