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

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

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

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

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

পূর্বশর্ত

টিউটোরিয়ালটি শুরু করার আগে, আপনাকে নিম্নলিখিত বিষয়গুলো সম্পন্ন করতে হবে:

  • Google Mobile Ads SDK ভার্সন 24.4.0 বা তার উচ্চতর সংস্করণ ইনস্টল করুন। পূর্ববর্তী সংস্করণগুলির জন্য ডেভেলপার রিসোর্স 23.6.1 - 24.3.0 -এ উপলব্ধ আছে, কিন্তু আমরা 24.4.0 বা তার উচ্চতর সংস্করণ ব্যবহার করার এবং ভবিষ্যতে এই নির্দেশিকা অনুসরণ করার পরামর্শ দিই।
  • Google Mobile Ads SDK সেট আপ করুন

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

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

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

কোটলিন

// 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)

জাভা

// 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 ক্যাশ করা বিজ্ঞাপনগুলো সংরক্ষণ করে রাখে। যখন আপনি কোনো বিজ্ঞাপন দেখাতে চান, তখন pollAd() কল করুন। Google Mobile Ads SDK উপলব্ধ বিজ্ঞাপনটি খুঁজে বের করে এবং ব্যাকগ্রাউন্ডে স্বয়ংক্রিয়ভাবে পরবর্তী বিজ্ঞাপনটি প্রি-লোড করে দেয়।

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

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

কোটলিন

// 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)

জাভা

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

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

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

আগে থেকে লোড করা বিজ্ঞাপনের প্রাপ্যতা জানুন

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

কোটলিন

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

জাভা

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

আগে থেকে লোড করা বিজ্ঞাপনের প্রাপ্যতা শুনুন

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

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

  • start() কল করবেন না।
  • বিজ্ঞাপনটি অবিলম্বে দেখানো না হলে pollAd() কল করা থেকে বিরত থাকুন।

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

কোটলিন

// 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.
    }
  }

জাভা

// 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() ফাংশনটি কল করুন।

কোটলিন

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

জাভা

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

বাফার আকার সেট করুন

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

কোটলিন

// Define a PreloadConfiguration and buffer up to 5 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(5).build()

জাভা

// Define a PreloadConfiguration and buffer up to 5 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(5).build();