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

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

পুরস্কার প্রদানকারী বিজ্ঞাপন হল এমন বিজ্ঞাপন যার সাথে ব্যবহারকারী অ্যাপ-মধ্যস্থ পুরস্কারের বিনিময়ে ইন্টার‍্যাক্ট করার বিকল্প পান। এই নির্দেশিকা থেকে জানতে পারবেন কীভাবে 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 ডেমো দেখুন।