রিওয়ার্ডেড ইন্টারস্টিশিয়াল হলো এক ধরনের প্রণোদনামূলক বিজ্ঞাপন ফরম্যাট, যা আপনাকে অ্যাপের স্বাভাবিক ট্রানজিশনের সময় স্বয়ংক্রিয়ভাবে প্রদর্শিত বিজ্ঞাপনের জন্য পুরস্কার দেওয়ার সুযোগ দেয়। রিওয়ার্ডেড অ্যাডের মতো নয়, রিওয়ার্ডেড ইন্টারস্টিশিয়াল দেখার জন্য ব্যবহারকারীদের অপ্ট-ইন করার প্রয়োজন হয় না। এই নির্দেশিকাটি দেখায় কিভাবে AdMob থেকে রিওয়ার্ডেড ইন্টারস্টিশিয়াল অ্যাড একটি ফ্লাটার অ্যাপে ইন্টিগ্রেট করতে হয়।
পূর্বশর্ত
চালিয়ে যাওয়ার আগে, নিম্নলিখিতগুলি করুন:
- ফ্লাটার প্লাগইন ১.১.০ বা তার উচ্চতর সংস্করণ ইনস্টল করুন।
- Google Mobile Ads Flutter Plugin সেট আপ করুন । আপনার ফ্লাটার অ্যাপে অবশ্যই Google Mobile Ads Flutter Plugin ইম্পোর্ট করা থাকতে হবে।
সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ বা প্রোডাকশন অ্যাডের পরিবর্তে টেস্ট অ্যাড ব্যবহার করুন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট সাসপেন্ড হতে পারে।
টেস্ট অ্যাড লোড করার সবচেয়ে সহজ উপায় হলো রিওয়ার্ডেড ইন্টারস্টিশিয়াল অ্যাডের জন্য আমাদের নির্দিষ্ট টেস্ট অ্যাড ইউনিট আইডি ব্যবহার করা:
অ্যান্ড্রয়েড
ca-app-pub-3940256099942544/5354046379
আইওএস
ca-app-pub-3940256099942544/6978759866
টেস্ট অ্যাড ইউনিটগুলো প্রতিটি অনুরোধের জন্য টেস্ট বিজ্ঞাপন দেখানোর জন্য কনফিগার করা আছে, এবং কোডিং, টেস্টিং ও ডিবাগিং করার সময় আপনি আপনার নিজের অ্যাপে এগুলো ব্যবহার করতে পারেন। শুধু খেয়াল রাখবেন, আপনার অ্যাপটি পাবলিশ করার আগে যেন আপনি এগুলোকে আপনার নিজের অ্যাড ইউনিট আইডি দিয়ে প্রতিস্থাপন করেন।
একটি বিজ্ঞাপন লোড করুন
নিম্নলিখিত উদাহরণটি একটি পুরস্কারযুক্ত ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করে:
_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 অ্যাপের সমস্ত কন্টেন্টের উপরে একটি ওভারলে হিসেবে প্রদর্শিত হয় এবং এটি স্থিরভাবে স্থাপন করা থাকে; তাই, এটিকে ফ্লাটার উইজেট ট্রি-তে যোগ করা যায় না। show() কল করার মাধ্যমে আপনি বিজ্ঞাপনটি কখন দেখাবেন তা বেছে নিতে পারেন। RewardedInterstitialAd.show() একটি OnUserEarnedRewardCallback গ্রহণ করে, যা ব্যবহারকারী কোনো পুরস্কার অর্জন করলে চালু হয়। এটি অবশ্যই প্রয়োগ করুন এবং বিজ্ঞাপন দেখার জন্য ব্যবহারকারীকে পুরস্কৃত করুন।
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
একবার show() কল করা হলে, এইভাবে প্রদর্শিত একটি Ad প্রোগ্রাম্যাটিকভাবে সরানো যায় না এবং এর জন্য ব্যবহারকারীর ইনপুট প্রয়োজন হয়। একটি RewardedInterstitialAd শুধুমাত্র একবারই দেখানো যেতে পারে। পরবর্তী show কলগুলো onAdFailedToShowFullScreenContent ট্রিগার করবে।
যখন কোনো বিজ্ঞাপনের আর প্রয়োজন হয় না, তখন সেটিকে ডিসপোজ করতে হবে। কখন dispose() কল করতে হবে তার সর্বোত্তম পদ্ধতি হলো FullScreenContentCallback.onAdDismissedFullScreenContent এবং FullScreenContentCallback.onAdFailedToShowFullScreenContent কলব্যাকগুলিতে এটি করা।
[ঐচ্ছিক] সার্ভার-সাইড ভেরিফিকেশন (SSV) কলব্যাকগুলি যাচাই করুন
যেসব অ্যাপের সার্ভার-সাইড ভেরিফিকেশন কলব্যাকে অতিরিক্ত ডেটার প্রয়োজন হয়, তাদের রিওয়ার্ডেড অ্যাডের কাস্টম ডেটা ফিচারটি ব্যবহার করা উচিত। একটি রিওয়ার্ডেড অ্যাড অবজেক্টে সেট করা যেকোনো স্ট্রিং ভ্যালু SSV কলব্যাকের custom_data কোয়েরি প্যারামিটারে পাস করা হয়। যদি কোনো কাস্টম ডেটা ভ্যালু সেট করা না থাকে, তাহলে custom_data কোয়েরি প্যারামিটারের ভ্যালুটি SSV কলব্যাকে উপস্থিত থাকবে না।
নিম্নলিখিত কোড নমুনাটি দেখায় যে কীভাবে রিওয়ার্ডেড ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড হওয়ার পরে SSV বিকল্পগুলি সেট করতে হয়:
SAMPLE_CUSTOM_DATA_STRING আপনার নিজস্ব ডেটা দিয়ে প্রতিস্থাপন করুন।