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

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

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