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

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

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