পুরস্কৃত বিজ্ঞাপন

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

এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে একটি ইউনিটি অ্যাপে রিওয়ার্ডেড অ্যাড যুক্ত করতে হয়।

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, Google Mobile Ads Unity Plugin সেট আপ করুন

সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন

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

তবে, অ্যাড ম্যানেজার ওয়েব ইন্টারফেসে একটি অ্যাপ নিবন্ধন করার পর এবং আপনার অ্যাপে ব্যবহারের জন্য নিজস্ব অ্যাড ইউনিট আইডি তৈরি করার পরে, ডেভেলপমেন্ট চলাকালীন আপনার ডিভাইসটিকে একটি টেস্ট ডিভাইস হিসেবে স্পষ্টভাবে কনফিগার করুন

/21775744923/example/rewarded

Google Mobile Ads Unity Plugin শুরু করুন

বিজ্ঞাপন লোড করার আগে, MobileAds.Initialize() কল করে আপনার অ্যাপকে Google Mobile Ads Unity Plugin চালু করতে দিন। এটি শুধুমাত্র একবার করা প্রয়োজন, আদর্শগতভাবে অ্যাপ চালু করার সময়।

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

আপনি যদি মিডিয়েশন ব্যবহার করেন, তাহলে বিজ্ঞাপন লোড করার আগে কলব্যাকটি ঘটা পর্যন্ত অপেক্ষা করুন, কারণ এটি নিশ্চিত করবে যে সমস্ত মিডিয়েশন অ্যাডাপ্টার ইনিশিয়ালাইজ হয়েছে।

পুরস্কৃত বিজ্ঞাপনটি লোড করুন

RewardedAd ক্লাসের স্ট্যাটিক Load() মেথড ব্যবহার করে একটি রিওয়ার্ডেড অ্যাড লোড করা হয়। লোড করা RewardedAd অবজেক্টটি কমপ্লিশন হ্যান্ডলারে একটি প্যারামিটার হিসেবে প্রদান করা হয়। নিচের উদাহরণটি একটি রিওয়ার্ডেড অ্যাড লোড করে:

// Create our request used to load the ad.
var adRequest = new AdRequest();

// Send the request to load the ad.
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd ad, LoadAdError error) =>
{
    if (error != null)
    {
        // The ad failed to load.
        return;
    }
    // The ad loaded successfully.
});

AD_UNIT_ID এর জায়গায় আপনার অ্যাড ইউনিট আইডি বসান।

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

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

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

// Create and pass the SSV options to the rewarded ad.
var options = new ServerSideVerificationOptions
{
    CustomData = ""SAMPLE_CUSTOM_DATA_STRING""
};

rewardedAd.SetServerSideVerificationOptions(options);

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

আপনি যদি নিজস্ব পুরস্কারের কোড সেট করতে চান, তবে বিজ্ঞাপনটি দেখানোর আগেই তা করতে হবে।

পুরস্কার কলব্যাক সহ পুরস্কৃত বিজ্ঞাপনটি দেখান

আপনার বিজ্ঞাপন দেখানোর সময়, ব্যবহারকারীর জন্য পুরস্কারটি পরিচালনা করতে আপনাকে অবশ্যই একটি কলব্যাক প্রদান করতে হবে। প্রতি লোডে বিজ্ঞাপন শুধুমাত্র একবারই দেখানো যাবে। বিজ্ঞাপনটি দেখানোর জন্য প্রস্তুত কিনা তা যাচাই করতে CanShowAd() মেথডটি ব্যবহার করুন।

নিম্নলিখিত কোডটি একটি পুরস্কারযুক্ত বিজ্ঞাপন প্রদর্শনের সর্বোত্তম পদ্ধতি উপস্থাপন করে।

if (rewardedAd != null && rewardedAd.CanShowAd())
{
    rewardedAd.Show((Reward reward) =>
    {
        // The ad was showen and the user earned a reward.
    });
}

পুরস্কৃত বিজ্ঞাপন ইভেন্টগুলি শুনুন

আপনার বিজ্ঞাপনের আচরণ আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের লাইফসাইকেলের বিভিন্ন ইভেন্টে হুক করতে পারেন। নিচের কোডটি বিজ্ঞাপনের ইভেন্টগুলো শোনে:

rewardedAd.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
    // Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
    // Raised when the ad failed to open full screen content.
};

পুরস্কৃত বিজ্ঞাপনটি পরিষ্কার করুন

যখন আপনি একটি RewardedAd এর কাজ শেষ করবেন, তখন সেটির রেফারেন্স মুছে ফেলার আগে অবশ্যই Destroy() মেথডটি কল করুন:

if (rewardedAd != null)
{
    rewardedAd.Destroy();
}

এটি প্লাগইনকে জানিয়ে দেয় যে অবজেক্টটি আর ব্যবহৃত হচ্ছে না এবং এর দখল করা মেমরি পুনরুদ্ধার করা যেতে পারে। এই মেথডটি কল করতে ব্যর্থ হলে মেমরি লিক হয়।

পরবর্তী পুরস্কারযুক্ত বিজ্ঞাপনটি প্রি-লোড করুন

RewardedAd একটি একবার ব্যবহারযোগ্য অবজেক্ট। এর মানে হলো, একবার কোনো রিওয়ার্ডেড অ্যাড দেখানো হলে, অবজেক্টটি আর ব্যবহার করা যাবে না। আরেকটি রিওয়ার্ডেড অ্যাডের অনুরোধ করতে হলে, আপনাকে একটি নতুন RewardedAd অবজেক্ট তৈরি করতে হবে।

পরবর্তী ইম্প্রেশন সুযোগের জন্য একটি রিওয়ার্ডেড বিজ্ঞাপন প্রস্তুত করতে, OnAdFullScreenContentClosed বা OnAdFullScreenContentFailed বিজ্ঞাপন ইভেন্টটি সংঘটিত হওয়ার সাথে সাথে রিওয়ার্ডেড বিজ্ঞাপনটি প্রি-লোড করুন।

rewardedAd.OnAdFullScreenContentClosed += () =>
{
    // Reload the ad so that we can show another as soon as possible.
    var adRequest = new AdRequest();
    RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd ad, LoadAdError error) =>
    {
        // Handle ad loading here.
    });
};

অতিরিক্ত সম্পদ