ব্যানার

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

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

Anchored adaptive banner ads are fixed aspect ratio ads rather than fixed size ads. The aspect ratio is similar to 320x50. Once you specify the full width available, Google Mobile Ads SDK returns an ad with optimal height for that width. The optimal height for the ad remains constant across different ad requests, and the content surrounding the ad stays in place when the ad refreshes.

সর্বদা পরীক্ষামূলক বিজ্ঞাপন দিয়ে পরীক্ষা করুন

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

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

/21775744923/example/adaptive-banner

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

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

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

  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;
  }

  unawaited(
    BannerAd(
      adUnitId: "_adUnitId",
      request: const AdManagerAdRequest(),
      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 আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করুন।

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

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 SDK বিজ্ঞাপন পরিচালক UI-তে আপনার নির্দিষ্ট করা যেকোনো রিফ্রেশ রেট মেনে চলে। যদি আপনি রিফ্রেশ সক্ষম না করে থাকেন, তাহলে একটি নতুন অনুরোধ জারি করুন। বিজ্ঞাপন ইউনিট রিফ্রেশ সম্পর্কে আরও তথ্যের জন্য, যেমন রিফ্রেশ রেট সেট করার জন্য, মোবাইল অ্যাপে বিজ্ঞাপনের জন্য রিফ্রেশ রেট দেখুন।

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

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

AdWidget Flutter এর Widget ক্লাস থেকে উত্তরাধিকারসূত্রে পাওয়া যায় এবং এটি অন্য যেকোনো উইজেটের মতো ব্যবহার করা যেতে পারে। 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 10 বা তার পরবর্তী ভার্সনে এই ধরণের ব্যানার ব্যবহার করার পরামর্শ দিচ্ছি। অ্যাঙ্কার্ড ব্যানারের মতো স্থির অবস্থানের ব্যানারগুলি প্রভাবিত হয় না এবং সমস্ত Android API স্তরে সর্বোত্তম কর্মক্ষমতা সহ ব্যবহার করা যেতে পারে।

অন্যান্য ব্যানারের ধরণ সম্পর্কে জানুন

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

ইনলাইন অ্যাডাপ্টিভ ব্যানার

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

কলাপসিবল ব্যানার

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