কাস্টম নেটিভ বিজ্ঞাপন ফরম্যাট

অ্যাড ম্যানেজার পাবলিশারদের কাছে অ্যাসেটের কাস্টম তালিকা নির্ধারণ করে নিজস্ব নেটিভ অ্যাড ফরম্যাট তৈরি করার বিকল্প রয়েছে। এগুলোকে কাস্টম নেটিভ অ্যাড ফরম্যাট বলা হয় এবং এগুলো সংরক্ষিত বিজ্ঞাপনের সাথে ব্যবহার করা যায়। কাস্টম নেটিভ অ্যাড পাবলিশারদের তাদের অ্যাপে যেকোনো ইমেজ এবং স্ট্রিং ডেটা পাঠানোর সুযোগ দেয়। এই ডেটা একটি CustomNativeAd অবজেক্ট দ্বারা উপস্থাপিত হয়।

একটি কাস্টম নেটিভ বিজ্ঞাপন লোড করুন

কাস্টম নেটিভ বিজ্ঞাপন AdLoader অবজেক্ট ব্যবহার করে লোড করা হয়। ForCustomNativeAd() মেথডটি কাস্টম নেটিভ বিজ্ঞাপন পরিচালনার জন্য AdLoader কনফিগার করে। এই মেথডটির দুটি প্যারামিটার রয়েছে:

  • কাস্টম বিজ্ঞাপনের formatId , যা AdLoader অনুরোধ করবে। প্রতিটি কাস্টম নেটিভ বিজ্ঞাপন ফরম্যাটের সাথে একটি ফরম্যাট আইডি ভ্যালু যুক্ত থাকে। এই প্যারামিটারটি নির্দেশ করে যে আপনার অ্যাপ AdLoader কোন ফরম্যাটটি অনুরোধ করতে বলবে।
  • ব্যবহারকারী বিজ্ঞাপনে ক্লিক করলে যে ঐচ্ছিক Action<CustomNativeAd, string> অ্যাকশনটি চালু হবে।

কাস্টম নেটিভ বিজ্ঞাপনগুলো AdLoader ক্লাসের মাধ্যমে লোড করা হয়, যেটির তৈরির সময় কাস্টমাইজ করার জন্য নিজস্ব AdLoader.Builder ক্লাস রয়েছে। ForCustomNativeAd() মেথডটি নেটিভ বিজ্ঞাপন পরিচালনার জন্য AdLoader কে কনফিগার করে।

void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
            .ForCustomNativeAd("10063170")
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

যেহেতু একটি একক অ্যাড ইউনিট একাধিক কাস্টম নেটিভ অ্যাড ফরম্যাট পরিবেশন করার জন্য সেট আপ করা যেতে পারে, তাই অ্যাড লোডারকে একাধিক সম্ভাব্য কাস্টম নেটিভ অ্যাড ফরম্যাটের জন্য প্রস্তুত করতে ForCustomNativeAd() বিভিন্ন ফরম্যাট আইডি সহ একাধিকবার কল করা যেতে পারে।

কাস্টম নেটিভ বিজ্ঞাপন ইভেন্ট

AdLoader ক্লাসটি একটি কাস্টম নেটিভ অ্যাডের জীবনচক্র সম্পর্কে আপনাকে অবহিত করার জন্য EventHandler টাইপের অ্যাড ইভেন্ট প্রদান করে। নিচের উদাহরণটিতে দেখানো হয়েছে কিভাবে একটি অ্যাড লোডারে কাস্টম নেটিভ অ্যাড ইভেন্টের জন্য নিবন্ধন করতে হয়:

private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

HandleCustomNativeAdLoaded() মেথডটিতে একটি CustomNativeAdEventArgs প্যারামিটার থাকে। লোড হওয়া কাস্টম নেটিভ অ্যাডটি এই ইভেন্ট প্যারামিটারের মাধ্যমে অ্যাক্সেস করা যায়, যেমনটি নিচে দেখানো হয়েছে:

void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    this.customNativeAd = args.nativeAd;
}

HandleCustomNativeAdFailedToLoad() মেথডটিতে একটি AdFailedToLoadEventArgs প্যারামিটার থাকে। নিচে দেখানো অনুযায়ী, LoadAdError ফিল্ডের উপর GetMessage মেথডটি কল করে এরর মেসেজটি অ্যাক্সেস করা যেতে পারে:

void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    string message = args.LoadAdError.GetMessage();
    Debug.Log("Ad Loader fail event received with message: " + message);
}

কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট প্রদর্শন করুন

কাস্টম নেটিভ অ্যাড ব্যবহারকারী-সংজ্ঞায়িত যেকোনো সংখ্যক ছবি এবং টেক্সট অ্যাসেট সমর্থন করে। এই অ্যাসেটগুলো CustomNativeAd ক্লাসের মাধ্যমে অ্যাক্সেস করা হয়, যেটিতে GetTexture2D() এবং GetText() মেথড রয়েছে, যা প্যারামিটার হিসেবে একটি ফরম্যাট ফিল্ডের ভেরিয়েবল আইডি গ্রহণ করে।

এখানে একটি উদাহরণ বাস্তবায়ন দেওয়া হল যা একটি কাস্টম নেটিভ বিজ্ঞাপন থেকে অ্যাসেট অ্যাক্সেস করে:

private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeAd.GetTexture2D("MainImage");
        headline = customNativeAd.GetText("Headline");
        adLoaded = false;
    }
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    customNativeAd = args.nativeAd;
    adLoaded = true;
    ...
}

কাস্টম নেটিভ বিজ্ঞাপনের ইম্প্রেশন এবং ক্লিক পরিচালনা করুন

কাস্টম নেটিভ অ্যাডের ক্ষেত্রে, আপনার অ্যাপ ইম্প্রেশন রেকর্ড করার এবং এসডিকে-তে ক্লিক ইভেন্ট রিপোর্ট করার দায়িত্বে থাকে।

রেকর্ড ইমপ্রেশন

একটি কাস্টম বিজ্ঞাপনের জন্য ইম্প্রেশন রেকর্ড করতে, সংশ্লিষ্ট CustomNativeAd এর RecordImpression() মেথডটি কল করুন:

customNativeAd.RecordImpression();

রিপোর্ট ক্লিক

কোনো অ্যাসেটে ক্লিক হয়েছে তা SDK-কে জানানোর জন্য, সংশ্লিষ্ট CustomNativeAd এর PerformClick() মেথডটি কল করুন এবং যে অ্যাসেটটিতে ক্লিক করা হয়েছে তার নামটি পাস করুন। উদাহরণস্বরূপ, যদি আপনার কাস্টম ফরম্যাটে "MainImage" নামে একটি অ্যাসেট থাকে এবং আপনি সেই অ্যাসেটের সাথে সম্পর্কিত টেক্সচারে একটি ক্লিকের রিপোর্ট করতে চান, তাহলে আপনার কোডটি দেখতে এইরকম হবে:

customNativeAd.PerformClick("MainImage");

কাস্টম ক্লিক অ্যাকশনগুলিতে সাড়া দিন

যখন কোনো কাস্টম বিজ্ঞাপনে ক্লিক রিপোর্ট করা হয়, তখন SDK থেকে সম্ভাব্য প্রতিক্রিয়াগুলো এই ক্রমে চেষ্টা করা হয়:

  1. বিজ্ঞাপনটির ডিপ লিঙ্ক ইউআরএল-এর জন্য একটি কন্টেন্ট রিজলভার খুঁজুন এবং যেটি প্রথমে রিজলভ হয়, সেটি চালু করুন।

  2. একটি ব্রাউজার খুলুন এবং বিজ্ঞাপনটির প্রচলিত গন্তব্য ইউআরএল-এ যান।

যদি আপনি ব্যবহারকারীকে ডিপ লিঙ্ক বা ওয়েব ব্রাউজারে নিয়ে যাওয়ার পরিবর্তে আপনার নিজস্ব নেটিভ বিজ্ঞাপন ফরম্যাটের জন্য ক্লিক অ্যাকশনটি নিজে পরিচালনা করতে চান, তাহলে AdLoader.Builder.ForCustomNativeAd() মেথডে একটি ঐচ্ছিক Action<CustomNativeAd, string> প্রদান করুন। এই কাস্টম ক্লিক অ্যাকশনটি সেট করার মাধ্যমে, আপনি SDK-এর ক্লিক আচরণকে ওভাররাইড করছেন। এখানে একটি উদাহরণ দেওয়া হলো যেখানে একটি নির্দিষ্ট অ্যাসেটের জন্য ক্লিক লগ করতে কাস্টম ক্লিক অ্যাকশন ব্যবহার করা হয়েছে:

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
            .ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeAd customNativeAd, string assetName)
{
    Debug.Log("Custom Native ad asset with name " + assetName + " was clicked.");
}