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

প্ল্যাটফর্ম বেছে নিন: iOS Unity Flutter Android (Legacy)

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

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

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

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

পূর্বশর্ত

এই টিউটোরিয়াল অনুসরণ করার আগে, আপনাকে অবশ্যই সেট-আপ Google Mobile Ads SDK (Legacy) করতে হবে।

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

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

নিচে দেওয়া উদাহরণে বিজ্ঞাপন প্রিলোড করা শুরু হয়:

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

Java

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

আপনার বিজ্ঞাপন ইউনিট আইডির সাথে AD_UNIT_ID পরিবর্তন করুন।

প্রিলোড করা বিজ্ঞাপন পাওয়া ও দেখানো

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

আপনি বিজ্ঞাপন দেখানোর জন্য প্রস্তুত না হওয়া পর্যন্ত pollAd পদ্ধতি কল করা এড়িয়ে যান। ক্যাশেতে বিজ্ঞাপন রাখলে, Google Mobile Ads SDK (Legacy) অটোমেটিক মেয়াদ ফুরিয়ে যাওয়া বিজ্ঞাপন রিফ্রেশ করতে এবং ক্যাশে অপ্টিমাইজ করতে পারে।

নিচের উদাহরণটি একটি প্রি-লোডেড বিজ্ঞাপন রিট্রিভ করে এবং দেখায়:

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

Java

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

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

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

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

নিচে দেওয়া উদাহরণে বিজ্ঞাপনের উপলভ্যতা চেক করা হয়েছে:

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Java

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

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

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

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

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

নিচে দেওয়া উদাহরণে বিজ্ঞাপন ইভেন্টের জন্য রেজিস্টার করা হয়েছে:

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

Java

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

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

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

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

Java

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

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

মেমরিতে সেভ করা প্রি-লোড করা বিজ্ঞাপনের সংখ্যা বাফার সাইজ নিয়ন্ত্রণ করে। সাধারণত, মেমরি ব্যবহার ও বিজ্ঞাপন দেখানোর লেটেন্সি ব্যালেন্স করতে Google বাফার সাইজ অপ্টিমাইজ করে। পরের বিজ্ঞাপন লোড হওয়ার আগে আপনার অ্যাপ বিজ্ঞাপন দেখালে, মেমরিতে রাখা বিজ্ঞাপনের সংখ্যা বাড়াতে আপনি কাস্টম বাফার সাইজ সেট করতে পারবেন।

Kotlin

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build()

Java

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build();

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

Google Mobile Ads SDK (Legacy) সব বিজ্ঞাপন ইউনিট ও প্রিলোড আইডি জুড়ে প্রিলোড করা বিজ্ঞাপনের মোট সংখ্যার উপর অ্যাপ-ব্যাপী সীমা প্রয়োগ করে:

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