পুরস্কার প্রদানকারী ইন্টারস্টিশিয়াল বিজ্ঞাপন

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

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

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, নিম্নলিখিত কাজগুলি করুন:

  • Flutter প্লাগ-ইন 1.1.0 বা তার পরবর্তী যেকোনও ভার্সন ইনস্টল করুন।
  • Google Mobile Ads Flutter Plugin সেট-আপ করুন। আপনার Flutter অ্যাপে Google Mobile Ads Flutter Plugin ইমপোর্ট করা থাকতে হবে।

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

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

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

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

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

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

নিচের উদাহরণে একটি পুরস্কার প্রদানকারী ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করা হয়েছে:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (RewardedInterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

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

পুরস্কার প্রদানকারী ইন্টারস্টিশিয়াল বিজ্ঞাপন ইভেন্ট

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

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

বিজ্ঞাপন প্রদর্শন

RewardedInterstitialAd সব অ্যাপ কন্টেন্টের উপরে ওভারলে হিসেবে দেখানো হয় এবং এটি স্ট্যাটিক হিসেবে প্লেস করা হয়; তাই, এটি Flutter উইজেট ট্রি-তে যোগ করা যায় না। show()-এ কল করে আপনি বিজ্ঞাপন কখন দেখাতে চান তা বেছে নিতে পারবেন। RewardedInterstitialAd.show() একটি OnUserEarnedRewardCallback নেয়, যা ব্যবহারকারী পুরস্কার জিতলে ইনভোক করা হয়। এটি প্রয়োগ করতে এবং বিজ্ঞাপন দেখার জন্য ব্যবহারকারীকে পুরস্কার দিতে ভুলবেন না।

_rewardedInterstitialAd?.show(
  onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

show() কল করা হলে, এই উপায়ে দেখানো Ad প্রোগ্রাম্যাটিক উপায়ে সরানো যায় না এবং এর জন্য ব্যবহারকারীর ইনপুট প্রয়োজন। RewardedInterstitialAd শুধুমাত্র একবারই দেখানো যাবে। পরবর্তী কল দেখানোর জন্য ট্রিগার করা হবে onAdFailedToShowFullScreenContent।

বিজ্ঞাপন আর অ্যাক্সেস করার প্রয়োজন না থাকলে সেটি ডিসপোজ করতে হবে। dispose() কল করার সবচেয়ে ভালো সময় FullScreenContentCallback.onAdDismissedFullScreenContent এবং FullScreenContentCallback.onAdFailedToShowFullScreenContent কলব্যাক।

[ঐচ্ছিক] সার্ভার-সাইড যাচাইকরণ (SSV) কলব্যাক যাচাই করুন

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

পুরস্কার প্রদানকারী ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড হওয়ার পরে কীভাবে SSV বিকল্প সেট করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে জানতে পারবেন:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
            customData: 'SAMPLE_CUSTOM_DATA_STRING',
          );
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

আপনার কাস্টম ডেটা দিয়ে SAMPLE_CUSTOM_DATA_STRING পরিবর্তন করুন।

GitHub-এ সম্পূর্ণ উদাহরণ

সম্পূর্ণ উদাহরণ দেখতে, API ডেমো দেখুন।