ব্যানার বিজ্ঞাপনগুলি ডিভাইস স্ক্রিনের উপরে বা নীচে একটি অ্যাপের লেআউটের মধ্যে একটি স্থান দখল করে। ব্যবহারকারীরা অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময় তারা স্ক্রিনে থাকে এবং একটি নির্দিষ্ট সময়ের পরে স্বয়ংক্রিয়ভাবে রিফ্রেশ করতে পারে।
এই নির্দেশিকাটি দেখায় কিভাবে AdMob থেকে একটি Flutter অ্যাপে ব্যানার বিজ্ঞাপনগুলিকে একীভূত করতে হয়৷ কোড স্নিপেট এবং নির্দেশাবলী ছাড়াও, এতে ব্যানারগুলি সঠিকভাবে আকার দেওয়ার বিষয়ে তথ্যও রয়েছে৷
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, নিশ্চিত করুন যে আপনি লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট স্থগিত হতে পারে।
টেস্ট বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল ব্যানারের জন্য আমাদের ডেডিকেটেড টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
অ্যান্ড্রয়েড
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
পরীক্ষার বিজ্ঞাপন ইউনিটগুলি প্রতিটি অনুরোধের জন্য পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে এবং আপনি কোডিং, পরীক্ষা এবং ডিবাগ করার সময় আপনার নিজের অ্যাপগুলিতে সেগুলি ব্যবহার করতে পারবেন৷ আপনার অ্যাপ প্রকাশ করার আগে শুধু নিশ্চিত করুন যে আপনি সেগুলিকে আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
একটি বিজ্ঞাপন লোড করুন
নিম্নলিখিত উদাহরণটি একটি ব্যানার বিজ্ঞাপনকে তাৎক্ষণিকভাবে নির্দেশ করে:
class BannerExampleState extends State<BannerExample> { BannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/6300978111' : 'ca-app-pub-3940256099942544/2934735716'; /// Loads a banner ad. void loadAd() { _bannerAd = BannerAd( adUnitId: adUnitId, request: const AdRequest(), size: AdSize.banner, listener: BannerAdListener( // 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('BannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, ), )..load(); } }
ব্যানার মাপ
নিচের সারণীতে স্ট্যান্ডার্ড ব্যানারের মাপ তালিকা করা আছে।
dp তে আকার (WxH) | বর্ণনা | বিজ্ঞাপন আকার ধ্রুবক |
---|---|---|
320x50 | স্ট্যান্ডার্ড ব্যানার | banner |
320x100 | বড় ব্যানার | largeBanner |
320x250 | মাঝারি আয়তক্ষেত্র | mediumRectangle |
468x60 | পূর্ণ আকারের ব্যানার | fullBanner |
728x90 | লিডারবোর্ড | leaderboard |
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা | অভিযোজিত ব্যানার | N/A |
একটি কাস্টম ব্যানার আকার নির্ধারণ করতে, আপনার পছন্দের AdSize
সেট করুন:
final AdSize adSize = AdSize(300, 50);
ব্যানার বিজ্ঞাপন ঘটনা
BannerAdListener
ব্যবহারের মাধ্যমে, আপনি লাইফসাইকেল ইভেন্টগুলি শুনতে পারেন, যেমন যখন একটি বিজ্ঞাপন লোড হয়৷ এই উদাহরণটি প্রতিটি পদ্ধতি প্রয়োগ করে এবং কনসোলে একটি বার্তা লগ করে:
class BannerExampleState extends State<BannerExample> { BannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/6300978111' : 'ca-app-pub-3940256099942544/2934735716'; /// Loads a banner ad. void loadAd() { _bannerAd = BannerAd( adUnitId: adUnitId, request: const AdRequest(), size: AdSize.banner, listener: BannerAdListener( // 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('BannerAd 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(); } }
একটি ব্যানার বিজ্ঞাপন প্রদর্শন করুন
একটি BannerAd
একটি উইজেট হিসাবে প্রদর্শন করতে, আপনাকে load()
কল করার পরে একটি সমর্থিত বিজ্ঞাপন সহ একটি AdWidget
ইনস্ট্যান্টিয়েট করতে হবে৷ load()
কল করার আগে আপনি উইজেট তৈরি করতে পারেন, কিন্তু উইজেট ট্রিতে যোগ করার আগে load()
কল করতে হবে।
AdWidget
Flutter's Widget ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত এবং অন্য যেকোনো উইজেটের মতো ব্যবহার করা যেতে পারে। iOS এ, নিশ্চিত করুন যে আপনি একটি নির্দিষ্ট প্রস্থ এবং উচ্চতা সহ একটি উইজেটে উইজেট স্থাপন করেছেন৷ অন্যথায়, আপনার বিজ্ঞাপন প্রদর্শিত হতে পারে না. একটি BannerAd
বিজ্ঞাপনের সাথে মেলে এমন আকারের একটি পাত্রে স্থাপন করা যেতে পারে:
... 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
উইজেট ট্রি থেকে সরানোর পরে অথবা BannerAdListener.onAdFailedToLoad()
কলব্যাকে।
তাই তো! আপনার অ্যাপ এখন ব্যানার বিজ্ঞাপন প্রদর্শনের জন্য প্রস্তুত।
অ্যান্ড্রয়েড 9 এবং নীচের স্ক্রোলিং সীমাবদ্ধতা
আমরা সচেতন যে Android 9 বা তার আগের কিছু পুরানো বা কম শক্তিশালী ডিভাইসে স্ক্রলিং ভিউয়ের মধ্যে ইনলাইন ব্যানার বিজ্ঞাপন প্রদর্শন করার সময় সাবঅপ্টিমাল পারফরম্যান্স থাকতে পারে। আমরা শুধুমাত্র Android 10 বা তার পরবর্তী সংস্করণে এই ধরনের ব্যানার ব্যবহার করার পরামর্শ দিই। স্থির অবস্থানের ব্যানার যেমন অ্যাঙ্কর করা ব্যানার প্রভাবিত হয় না এবং সমস্ত Android API স্তরে সর্বোত্তম কর্মক্ষমতা সহ ব্যবহার করা যেতে পারে।