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

Ad Manager প্রকাশকদের কাছে অ্যাসেটের কাস্টম তালিকা নির্ধারণ করে নিজস্ব নেটিভ বিজ্ঞাপন ফর্ম্যাট তৈরি করার বিকল্প আছে। এগুলিকে কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট বলা হয় এবং রিজার্ভ করা বিজ্ঞাপনের সাথে ব্যবহার করা যেতে পারে। কাস্টম নেটিভ বিজ্ঞাপন প্রকাশকদের তাদের অ্যাপে ইচ্ছামতো ছবি এবং স্ট্রিং ডেটা পাস করার সুবিধা দেয়। এই ডেটা 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;
    ...
}

কাস্টম নেটিভ বিজ্ঞাপনের ইম্প্রেশন ও ক্লিক ম্যানেজ করা

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

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

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

customNativeAd.RecordImpression();

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

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

customNativeAd.PerformClick("MainImage");

কাস্টম ক্লিক অ্যাকশনে প্রতিক্রিয়া জানানো

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

  1. বিজ্ঞাপনের ডিপ লিঙ্ক URL-এর জন্য কন্টেন্ট রিজলভার খুঁজে নিন এবং প্রথমটি শুরু করুন যা সমাধান করে।

  2. ব্রাউজার খুলে বিজ্ঞাপনের ট্র্যাডিশনাল গন্তব্য URL-এ যান।

ব্যবহারকারীকে ডিপ লিঙ্ক বা ওয়েব ব্রাউজারে নিয়ে যাওয়ার পরিবর্তে আপনি যদি নিজের কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের জন্য ক্লিক অ্যাকশন নিজেই ম্যানেজ করতে চান, তাহলে 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.");
}