मध्यवर्ती

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

इस गाइड में, अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापनों को Flutter ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.

हमेशा टेस्ट विज्ञापनों से टेस्ट करें

अपने ऐप्लिकेशन बनाते और टेस्ट करते समय पक्का करें कि आप लाइव, प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें. ऐसा न करने पर आपका खाता निलंबित किया जा सकता है.

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

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

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

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

इस उदाहरण में, अचानक दिखने वाला (इंटरस्टीशियल) विज्ञापन लोड होता है:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

पेज पर अचानक दिखने वाले विज्ञापन इवेंट

FullScreenContentCallback का इस्तेमाल करके, आप लाइफ़साइकल इवेंट सुन सकते हैं, जैसे कि विज्ञापन को दिखाया या खारिज किया जाना. इन इवेंट की सूचना पाने के लिए विज्ञापन दिखाने से पहले InterstitialAd.fullScreenContentCallback सेट करें. इस उदाहरण में हर तरीका लागू किया गया है:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
             ad.fullScreenContentCallback = FullScreenContentCallback(
                // Called when the ad showed the full screen content.
                onAdShowedFullScreenContent: (ad) {},
                // Called when an impression occurs on the ad.
                onAdImpression: (ad) {},
                // Called when the ad failed to show full screen content.
                onAdFailedToShowFullScreenContent: (ad, err) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when the ad dismissed full screen content.
                onAdDismissedFullScreenContent: (ad) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when a click is recorded for an ad.
                onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

पेज पर अचानक दिखने वाला विज्ञापन दिखाएं

InterstitialAd को ऐप्लिकेशन के सभी कॉन्टेंट के सबसे ऊपर, Overlay के तौर पर दिखाया जाता है और उसे स्टैटिक रूप से रखा जाता है. इसलिए, उसे Flutter विजेट ट्री में नहीं जोड़ा जा सकता. show() पर कॉल करके, विज्ञापन दिखाने का समय चुना जा सकता है.

_interstitiaAd.show();

show() को कॉल करने के बाद, इस तरह दिखने वाले Ad को प्रोग्राम के हिसाब से, अपने-आप खारिज नहीं किया जा सकता. साथ ही, इसके लिए उपयोगकर्ता के इनपुट की ज़रूरत होती है. InterstitialAd को सिर्फ़ एक बार दिखाया जा सकता है. बाद में दिखाए जाने वाले कॉल onAdFailedToShowFullScreenContent को ट्रिगर करेंगे.

किसी विज्ञापन को तब नष्ट किया जाना चाहिए जब उसकी ज़रूरत न हो. dispose() को कब कॉल करें, यह तय करने का सबसे सही तरीका है FullScreenContentCallback.onAdDismissedFullScreenContent और FullScreenContentCallback.onAdFailedToShowFullScreenContent कॉलबैक.

हो गया! आपका ऐप्लिकेशन अब पेज पर अचानक दिखने वाले विज्ञापन दिखाने के लिए तैयार है.

अगले चरण

GitHub पर पूरा उदाहरण

पेज पर अचानक दिखने वाले विज्ञापन