পুরস্কার প্রদানকারী বিজ্ঞাপন

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

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

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

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

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

Android

ca-app-pub-3940256099942544/5224354917

iOS

ca-app-pub-3940256099942544/1712485313

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

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

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

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

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

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

FullScreenContentCallback ব্যবহার করে, আপনি লাইফসাইকেল ইভেন্ট শুনতে পারবেন, যেমন বিজ্ঞাপন কখন দেখানো বা বাতিল করা হয়েছে। এইসব ইভেন্টের জন্য বিজ্ঞপ্তি পেতে, বিজ্ঞাপন দেখানোর RewardedAd.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.');
  },
);

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

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

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

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

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

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

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

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

RewardedAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedAdLoadCallback: RewardedAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
            customData: 'SAMPLE_CUSTOM_DATA_STRING',
          );
      ad.setServerSideOptions(_options);
      _rewardedAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

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

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

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