ব্যানার বিজ্ঞাপন সেট আপ করুন,ব্যানার বিজ্ঞাপন সেট আপ করুন

ব্যানার বিজ্ঞাপন অ্যাপের লেআউটের মধ্যে, ডিভাইসের স্ক্রিনের উপরে বা নীচে একটি জায়গা দখল করে। ব্যবহারকারীরা যতক্ষণ অ্যাপটি ব্যবহার করেন, ততক্ষণ এগুলো স্ক্রিনে থাকে এবং একটি নির্দিষ্ট সময় পর স্বয়ংক্রিয়ভাবে রিফ্রেশ হতে পারে।

এই নির্দেশিকাটি আপনাকে অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার বিজ্ঞাপন ব্যবহার শুরু করতে সাহায্য করবে। অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার আপনার নির্দিষ্ট করা বিজ্ঞাপনের প্রস্থ ব্যবহার করে প্রতিটি ডিভাইসের জন্য বিজ্ঞাপনের আকার অপ্টিমাইজ করে।

অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার অ্যাডগুলো নির্দিষ্ট আকারের অ্যাডের পরিবর্তে একটি নির্দিষ্ট অ্যাস্পেক্ট রেশিওর অ্যাড। এর অ্যাস্পেক্ট রেশিও ৩২০x৫০-এর মতো। একবার আপনি উপলব্ধ সম্পূর্ণ প্রস্থ নির্দিষ্ট করে দিলে, Google Mobile Ads Flutter Plugin সেই প্রস্থের জন্য সর্বোত্তম উচ্চতার একটি অ্যাড ফেরত দেয়। অ্যাডের জন্য এই সর্বোত্তম উচ্চতা বিভিন্ন অ্যাড রিকোয়েস্ট জুড়ে স্থির থাকে এবং অ্যাড রিফ্রেশ হলেও এর চারপাশের কন্টেন্ট যথাস্থানে থেকে যায়।

সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন

আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ বা প্রোডাকশন অ্যাডের পরিবর্তে টেস্ট অ্যাড ব্যবহার করুন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট সাসপেন্ড হতে পারে।

টেস্ট অ্যাড লোড করার সবচেয়ে সহজ উপায় হলো ব্যানারের জন্য আমাদের নির্দিষ্ট টেস্ট অ্যাড ইউনিট আইডি ব্যবহার করা:

অ্যান্ড্রয়েড

ca-app-pub-3940256099942544/9214589741

আইওএস

ca-app-pub-3940256099942544/2435281174

টেস্ট অ্যাড ইউনিটগুলো প্রতিটি অনুরোধের জন্য টেস্ট বিজ্ঞাপন দেখানোর জন্য কনফিগার করা আছে, এবং কোডিং, টেস্টিং ও ডিবাগিং করার সময় আপনি আপনার নিজের অ্যাপে এগুলো ব্যবহার করতে পারেন। শুধু খেয়াল রাখবেন, আপনার অ্যাপটি পাবলিশ করার আগে যেন আপনি এগুলোকে আপনার নিজের অ্যাড ইউনিট আইডি দিয়ে প্রতিস্থাপন করেন।

বিজ্ঞাপনের আকার পান

সঠিক আকারের ব্যানার বিজ্ঞাপনের অনুরোধ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. MediaQuery.of(context) ব্যবহার করে ডিভাইসের স্ক্রিনের প্রস্থ ডেনসিটি-ইন্ডিপেন্ডেন্ট পিক্সেল (dp)-এ জানুন। যদি আপনি সম্পূর্ণ স্ক্রিন প্রস্থ ব্যবহার করতে না চান, তবে নিজের প্রস্থ সেট করতে পারেন।

  2. একটি AdSize অবজেক্ট পেতে AdSize ক্লাসের উপযুক্ত স্ট্যাটিক মেথডটি ব্যবহার করুন। উদাহরণস্বরূপ, বর্তমান ওরিয়েন্টেশনের জন্য বিজ্ঞাপনের আকার পেতে AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(int width) ব্যবহার করুন।

// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
  MediaQuery.sizeOf(context).width.truncate(),
);

একটি বিজ্ঞাপন লোড করুন

নিম্নলিখিত উদাহরণটি একটি ব্যানার বিজ্ঞাপন লোড করে:

void _loadAd() async {
  // Get an AnchoredAdaptiveBannerAdSize before loading the ad.
  final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
    MediaQuery.sizeOf(context).width.truncate(),
  );

  if (size == null) {
    // Unable to get width of anchored banner.
    return;
  }

  BannerAd(
    adUnitId: "_adUnitId",
    request: const AdRequest(),
    size: size,
    listener: BannerAdListener(
      onAdLoaded: (ad) {
        // Called when an ad is successfully received.
        debugPrint("Ad was loaded.");
        setState(() {
          _bannerAd = ad as BannerAd;
        });
      },
      onAdFailedToLoad: (ad, err) {
        // Called when an ad request failed.
        debugPrint("Ad failed to load with error: $err");
        ad.dispose();
      },
    ),
  ).load();
}

_adUnitId জায়গায় আপনার নিজের বিজ্ঞাপন ইউনিটের আইডি বসান।

BannerAdListener ব্যবহারের মাধ্যমে, আপনি লাইফসাইকেল ইভেন্টগুলো শুনতে পারেন, যেমন যখন কোনো বিজ্ঞাপন লোড হয়। এই উদাহরণটি প্রতিটি মেথড ইমপ্লিমেন্ট করে এবং কনসোলে একটি মেসেজ লগ করে:

onAdOpened: (Ad ad) {
  // Called when an ad opens an overlay that covers the screen.
  debugPrint("Ad was opened.");
},
onAdClosed: (Ad ad) {
  // Called when an ad removes an overlay that covers the screen.
  debugPrint("Ad was closed.");
},
onAdImpression: (Ad ad) {
  // Called when an impression occurs on the ad.
  debugPrint("Ad recorded an impression.");
},
onAdClicked: (Ad ad) {
  // Called when an a click event occurs on the ad.
  debugPrint("Ad was clicked.");
},
onAdWillDismissScreen: (Ad ad) {
  // iOS only. Called before dismissing a full screen view.
  debugPrint("Ad will be dismissed.");
},

একটি বিজ্ঞাপন রিফ্রেশ করুন

আপনি যদি আপনার অ্যাড ইউনিট রিফ্রেশ করার জন্য কনফিগার করে থাকেন, তাহলে বিজ্ঞাপনটি লোড হতে ব্যর্থ হলে আপনাকে অন্য কোনো বিজ্ঞাপনের জন্য অনুরোধ করতে হবে না। Google Mobile Ads Flutter Plugin AdMob UI-তে আপনার নির্দিষ্ট করা যেকোনো রিফ্রেশ রেট মেনে চলে। আপনি যদি রিফ্রেশ চালু না করে থাকেন, তাহলে একটি নতুন অনুরোধ পাঠান। অ্যাড ইউনিট রিফ্রেশ সম্পর্কে আরও বিস্তারিত জানতে, যেমন রিফ্রেশ রেট সেট করার বিষয়ে, "ব্যানার বিজ্ঞাপনের জন্য স্বয়ংক্রিয় রিফ্রেশ ব্যবহার করুন" দেখুন।

একটি ব্যানার বিজ্ঞাপন প্রদর্শন করুন

একটি BannerAd উইজেট হিসেবে প্রদর্শন করতে হলে, load() কল করার পর আপনাকে অবশ্যই একটি সমর্থিত বিজ্ঞাপন দিয়ে একটি AdWidget ইনস্ট্যানশিয়েট করতে হবে। আপনি load() কল করার আগেও উইজেটটি তৈরি করতে পারেন, কিন্তু উইজেট ট্রি-তে যোগ করার আগে অবশ্যই load() কল করতে হবে।

AdWidget Flutter-এর 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() কলব্যাকে।

ব্যাস! আপনার অ্যাপটি এখন ব্যানার বিজ্ঞাপন দেখানোর জন্য প্রস্তুত।

অ্যান্ড্রয়েড ৯ এবং এর নিচের সংস্করণগুলোতে স্ক্রোলিং সীমাবদ্ধতা

আমরা অবগত আছি যে, অ্যান্ড্রয়েড ৯ বা তার পূর্ববর্তী সংস্করণে চালিত কিছু পুরোনো বা কম শক্তিশালী ডিভাইসে স্ক্রলিং ভিউয়ের মধ্যে ইনলাইন ব্যানার বিজ্ঞাপন দেখানোর সময় পারফরম্যান্স আশানুরূপ নাও হতে পারে। আমরা এই ধরনের ব্যানার শুধুমাত্র অ্যান্ড্রয়েড ১০ বা তার পরবর্তী সংস্করণে ব্যবহার করার পরামর্শ দিই। অ্যাঙ্কর্ড ব্যানারের মতো নির্দিষ্ট অবস্থানের ব্যানারগুলো এতে প্রভাবিত হয় না এবং সমস্ত অ্যান্ড্রয়েড এপিআই লেভেলে সর্বোত্তম পারফরম্যান্সের সাথে ব্যবহার করা যেতে পারে।

গিটহাবে সম্পূর্ণ উদাহরণ

এই পৃষ্ঠায় আলোচিত ব্যানার ইন্টিগ্রেশনের একটি সম্পূর্ণ উদাহরণ banner_example- এ দেখুন।

অন্যান্য ব্যানারের প্রকারভেদ সম্পর্কে জানুন

আপনার ফ্লাটার অ্যাপ্লিকেশনের জন্য এই বিভাগে সংজ্ঞায়িত অন্যান্য ধরণের ব্যানারগুলির সাথে পরিচিত হন।

ইনলাইন অভিযোজিত ব্যানার

ইনলাইন অ্যাডাপ্টিভ ব্যানারের উচ্চতা পরিবর্তনশীল এবং অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানারের তুলনায় এগুলি বড় ও লম্বা হয়। যেসব অ্যাপ স্ক্রলযোগ্য কন্টেন্টের মধ্যে ব্যানার বিজ্ঞাপন রাখে, তাদের জন্য অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার বিজ্ঞাপনের চেয়ে ইনলাইন অ্যাডাপ্টিভ ব্যানার ব্যবহার করার পরামর্শ দেওয়া হয়। আরও বিস্তারিত জানতে, ইনলাইন অ্যাডাপ্টিভ ব্যানার দেখুন।

ভাঁজযোগ্য ব্যানার

কলাপসিবল ব্যানার অ্যাড হলো এমন ব্যানার অ্যাড যা প্রথমে একটি বড় ওভারলে হিসেবে প্রদর্শিত হয় এবং এতে একটি বাটন থাকে যা দিয়ে অ্যাডটিকে ছোট আকারে সংকুচিত করা যায়। আপনার পারফরম্যান্স আরও অপ্টিমাইজ করতে এই ব্যানারটি ব্যবহার করার কথা বিবেচনা করুন। আরও বিস্তারিত জানতে, কলাপসিবল ব্যানার অ্যাডস দেখুন।