बैनर

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

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

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

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

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

  • /6499/example/banner

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

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

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

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

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/6499/example/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();
  }
}

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

dp में साइज़ (WxH) ब्यौरा 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 = '/6499/example/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 एपीआई लेवल में.