बैनर

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

इस गाइड में Ad Manager के बैनर विज्ञापनों को Flutter ऐप्लिकेशन. कोड स्निपेट और निर्देशों के अलावा, बैनर को सही साइज़ देने के बारे में जानकारी.

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

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

टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि आप बैनर:

/21775744923/example/adaptive-banner

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

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

नीचे दिया गया उदाहरण बैनर विज्ञापन को इंस्टैंशिएट करता है:

class BannerExampleState extends State<BannerExample> {
  AdManagerBannerAd? _bannerAd;
  bool _isLoaded = false;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/adaptive-banner';

  /// Loads a banner ad.
  void loadAd() {
    _bannerAd = AdManagerBannerAd(
      adUnitId: adUnitId,
      request: const AdManagerAdRequest(),
      size: AdSize.banner,
      listener: AdManagerBannerAdListener(
        // Called when an ad is successfully received.
        onAdLoaded: (ad) {
          debugPrint('$ad loaded.');
          setState(() {
            _isLoaded = true;
          });
        },
        // Called when an ad request failed.
        onAdFailedToLoad: (ad, err) {
          debugPrint('AdManagerBannerAd failed to load: $error');
          // Dispose the ad here to free resources.
          ad.dispose();
        },
      ),
    )..load();
  }
}

नीचे दी गई टेबल में, स्टैंडर्ड बैनर साइज़ की सूची दी गई है.

डाइमेंशन, डीपी में (चौड़ाई x ऊंचाई) ब्यौरा AdSize कॉन्स्टेंट
320x50 स्टैंडर्ड बैनर banner
320x100 बड़ा बैनर largeBanner
320x250 मध्यम आयत mediumRectangle
468x60 फ़ुल-साइज़ बैनर fullBanner
728x90 लीडरबोर्ड leaderboard
दी गई चौड़ाई x ज़रूरत के हिसाब से ऊंचाई अडैप्टिव बैनर लागू नहीं

बैनर का कस्टम साइज़ तय करने के लिए, अपनी पसंद के हिसाब से AdSize सेट करें:

final AdSize adSize = AdSize(300, 50);

AdManagerBannerAdListener का इस्तेमाल करके, लाइफ़साइकल इवेंट को सुना जा सकता है, जैसे का इस्तेमाल करें. यह उदाहरण हर तरीके को लागू करता है और मैसेज लॉग करता है कंसोल में जोड़ें:

class BannerExampleState extends State<BannerExample> {
  AdManagerBannerAd? _bannerAd;
  bool _isLoaded = false;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/adaptive-banner';


  /// Loads a banner ad.
  void loadAd() {
    _bannerAd = AdManagerBannerAd(
      adUnitId: adUnitId,
      request: const AdManagerAdRequest(),
      size: AdSize.banner,
      listener: AdManagerBannerAdListener(
        // Called when an ad is successfully received.
        onAdLoaded: (ad) {
          debugPrint('$ad loaded.');
          setState(() {
            _isLoaded = true;
          });
        },
        // Called when an ad request failed.
        onAdFailedToLoad: (ad, err) {
          debugPrint('AdManagerBannerAd failed to load: $error');
          // Dispose the ad here to free resources.
          ad.dispose();
        },
        // Called when an ad opens an overlay that covers the screen.
        onAdOpened: (Ad ad) {},
        // Called when an ad removes an overlay that covers the screen.
        onAdClosed: (Ad ad) {},
        // Called when an impression occurs on the ad.
        onAdImpression: (Ad ad) {},
      ),
    )..load();
  }
}

बैनर विज्ञापन दिखाएं

AdManagerBannerAd को विजेट के तौर पर दिखाने के लिए, आपको AdWidget इंस्टैंशिएट करना होगा load() को कॉल करने के बाद एक समर्थित विज्ञापन के साथ. इस तारीख से पहले भी विजेट बनाया जा सकता है load() को कॉल किया जा रहा है, लेकिन load() को विजेट में जोड़ने से पहले कॉल करना ज़रूरी है पेड़

AdWidget को Flutter के विजेट क्लास से इनहेरिट किया जाता है और इसे किसी भी दूसरे की तरह इस्तेमाल किया जा सकता है विजेट. iOS पर, पक्का करें कि आपने विजेट को चौड़ाई और ऊंचाई. ऐसा नहीं करने पर, हो सकता है कि आपका विज्ञापन न दिखे. AdManagerBannerAd को विज्ञापन से मेल खाने वाले आकार के कंटेनर में रखा जा सकता है:

...
if (_bannerAd != null) {
  Align(
    alignment: Alignment.bottomCenter,
    child: SafeArea(
      child: SizedBox(
        width: _bannerAd!.size.width.toDouble(),
        height: _bannerAd!.size.height.toDouble(),
        child: AdWidget(ad: _bannerAd!),
      ),
    ),
  )
}
...

जब किसी विज्ञापन का ऐक्सेस ज़रूरी न हो, तो उसे हटा देना चाहिए. dispose() को कब कॉल करना है, यह तय करने के लिए सबसे सही तरीका यह है कि AdWidget को विजेट ट्री से हटाने के बाद या AdManagerBannerAdListener.onAdFailedToLoad() कॉलबैक में ऐसा किया जाए.

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

Android 9 और इससे पहले के वर्शन पर स्क्रोल करने की सीमा

हमें पता है कि Android 9 या इसके बाद के वर्शन पर चलने वाले कुछ पुराने या कम क्षमता वाले डिवाइस की परफ़ॉर्मेंस पर खराब असर पड़ सकता है स्क्रोलिंग व्यू में इनलाइन बैनर विज्ञापन दिखाते समय. हमारा सुझाव है कि आप सिर्फ़ Android 10 या उसके बाद वाले वर्शन पर, इस तरह के बैनर इस्तेमाल करें. फ़िक्स पोज़िशन वाले बैनर, जैसे ऐसा इसलिए, क्योंकि ऐंकर वाले बैनर पर इसका कोई असर नहीं होता है. साथ ही, इन विज्ञापनों की परफ़ॉर्मेंस बेहतर होने पर इनका इस्तेमाल किया जा सकता है सभी Android एपीआई लेवल में.