বিজ্ঞাপন প্রি-লোডিং (বিটা)

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

ম্যানুয়াল বিজ্ঞাপন লোডিংয়ের তুলনায় বিজ্ঞাপন প্রিলোড করার সুবিধাগুলি হল:

  • রেফারেন্স ম্যানেজমেন্ট: লোড করা বিজ্ঞাপন হোল্ড করে রাখে যাতে আপনি সেগুলি দেখানোর জন্য প্রস্তুত না হওয়া পর্যন্ত আপনাকে রেফারেন্স বজায় রাখতে না হয়।
  • অটোমেটিক রিলোড করা: আপনি ক্যাশে থেকে একটি বিজ্ঞাপন সরিয়ে নিলে অটোমেটিক নতুন বিজ্ঞাপন লোড করে।
  • ম্যানেজ করা আবার চেষ্টা: এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করে ব্যর্থ অনুরোধগুলি অটোমেটিক আবার চেষ্টা করে।
  • মেয়াদ শেষ হওয়া ম্যানেজ করা: বিজ্ঞাপনের মেয়াদ শেষ হওয়ার আগে (সাধারণত এক ঘণ্টা পরে) সেগুলি অটোমেটিক রিফ্রেশ করে।
  • ক্যাশে অপ্টিমাইজেশন: আপনি যদি একের বেশি ক্যাশে সাইজ ব্যবহার করেন, তাহলে Google Mobile Ads Flutter Plugin সেরা বিজ্ঞাপন দেখানোর জন্য ক্যাশে অর্ডার অপ্টিমাইজ করে।

এই গাইডে প্রিলোড বিজ্ঞাপন কনফিগার করা, প্রিলোড বিজ্ঞাপনের উপলভ্যতা চেক করা এবং প্রিলোড করা বিজ্ঞাপন দেখানোর ব্যাপারে আলোচনা করা হয়েছে।

পূর্বশর্ত

এই টিউটোরিয়াল নিয়ে এগিয়ে যাওয়ার আগে, আপনাকে অবশ্যই Google Mobile Ads Flutter Plugin সেট-আপ করতে হবে।

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

অ্যাপ চালু হলে, start মেথড একবার কল করুন। আপনি start মেথড কল করার পরে, Google Mobile Ads Flutter Plugin অটোমেটিক বিজ্ঞাপন প্রিলোড করে এবং প্রিলোড করা কনফিগারেশনের জন্য ব্যর্থ অনুরোধ আবার চেষ্টা করে।

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

_adUnitId-এর জায়গায় আপনার বিজ্ঞাপন ইউনিট আইডি লিখুন।

প্রিলোড করা বিজ্ঞাপন পান এবং দেখান

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

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

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

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

প্রিলোডিং বিজ্ঞাপন উপলভ্য কিনা তা চেক করুন

বিজ্ঞাপন উপলভ্য কিনা তা চেক করতে, নিম্নলিখিত বিকল্পগুলির মধ্যে থেকে যেকোনও একটি বেছে নিন:

প্রিলোড করা বিজ্ঞাপনের উপলভ্যতা সম্পর্কে জানুন

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

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

প্রিলোড করা বিজ্ঞাপনের উপলভ্যতা শুনুন

বিজ্ঞাপন প্রিলোড করা হলে, প্রিলোড করতে না পারলে অথবা বিজ্ঞাপনের ক্যাশে শেষ হয়ে গেলে বিজ্ঞপ্তি পেতে প্রিলোড ইভেন্টের জন্য রেজিস্টার করুন।

প্রিলোড ইভেন্ট অ্যানালিটিক্সের উদ্দেশ্যে ব্যবহার করা হয়। প্রিলোড ইভেন্ট কলব্যাক:

  • start নম্বরে কল করবেন না।
  • বিজ্ঞাপন অবিলম্বে দেখানো না হলে pollAd কল করা এড়িয়ে চলুন।

নিম্নলিখিত উদাহরণটি বিজ্ঞাপন ইভেন্টের জন্য রেজিস্টার করে:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

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

সেশনে কোনও প্রিলোড আইডির জন্য আবার বিজ্ঞাপন দেখানোর প্রয়োজন না হলে, আপনি বিজ্ঞাপন প্রিলোড করা বন্ধ করতে পারেন। নির্দিষ্ট প্রিলোড আইডির জন্য বিজ্ঞাপন প্রিলোড করা বন্ধ করতে, প্রিলোড আইডির সাথে destroy কল করুন। সব প্রিলোডারের জন্য প্রিলোডিং বন্ধ করতে, destroyAll কল করুন।

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

বাফারের সাইজ সেট করুন

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

প্রিলোড ক্যাশে সীমা

Google Mobile Ads Flutter Plugin সমস্ত বিজ্ঞাপন ইউনিট এবং প্রিলোড আইডি জুড়ে প্রিলোড করা বিজ্ঞাপনের মোট সংখ্যার উপর অ্যাপ-ব্যাপী সীমা প্রয়োগ করে:

  • ডিফল্ট সীমা: Google Mobile Ads Flutter Plugin মেমরিতে সর্বাধিক ৬টি প্রিলোড করা বিজ্ঞাপন ধরে রাখে। এই সীমা সব ফর্ম্যাট ও প্রিলোড আইডি জুড়ে শেয়ার করা হয়।
  • প্রতিটি প্রিলোড আইডির জন্য আমরা বাফার সাইজ দুই রাখার সাজেশন দিই।