Google Ad Manager প্রকাশকরা কাস্টম অ্যাসেটের তালিকা নির্ধারণ করে তাদের নিজস্ব নেটিভ বিজ্ঞাপন ফর্ম্যাট তৈরি করতে পারেন। এই কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলি সংরক্ষিত বিজ্ঞাপনের সাথে ব্যবহার করা যেতে পারে। কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট প্রকাশকদের তাদের অ্যাপে ইচ্ছামত ছবি এবং স্ট্রিং ডেটা পাস করতে সক্ষম করে। এই ডেটা একটি CustomNativeTemplateAd অবজেক্ট দ্বারা প্রতিনিধিত্ব করা হয়।
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট লোড করুন
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলি AdLoader অবজেক্ট ব্যবহার করে লোড করা হয়। forCustomTemplateAd() পদ্ধতিটি AdLoader কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট পরিচালনা করার জন্য কনফিগার করে। প্রতিটি কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের সাথে একটি টেমপ্লেট আইডি মান যুক্ত থাকে। আপনার অ্যাপটি AdLoader যে কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের অনুরোধ করতে চায় তার টেমপ্লেট আইডি আপনাকে অবশ্যই নির্দিষ্ট করতে হবে। আপনি যে নেটিভ বিজ্ঞাপন ফর্ম্যাটের অনুরোধ করতে চান তার টেমপ্লেট আইডির জন্য Ad Manager UI-তে টেমপ্লেট আইডিগুলি অনুসন্ধান করুন।
void LoadCustomNativeTemplateAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.forCustomNativeAd("10063170")
.Build();
adLoader.LoadAd(new AdRequest.Builder().Build());
}
যেহেতু একটি একক বিজ্ঞাপন ইউনিট একাধিক সৃজনশীল টেমপ্লেট পরিবেশন করার জন্য সেট আপ করা যেতে পারে, তাই একাধিক সম্ভাব্য কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের জন্য Adloader প্রস্তুত করার জন্য forCustomTemplateAd() বিভিন্ন টেমপ্লেট আইডি দিয়ে একাধিকবার কল করা যেতে পারে। নীচের কোড স্নিপেটটি দেখায় যে কীভাবে একাধিক কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট টেমপ্লেটের জন্য একটি AdLoader প্রস্তুত করতে হয়।
void LoadCustomNativeTemplateAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.forCustomNativeAd("10063170")
.forCustomNativeAd("10063171")
.forCustomNativeAd("10063172")
.Build();
adLoader.LoadAd(new AdRequest.Builder().Build());
}
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট বিজ্ঞাপন ইভেন্ট
AdLoader ক্লাসটি EventHandler ধরণের বিজ্ঞাপন ইভেন্ট প্রদান করে যা আপনাকে একটি কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের জীবনচক্র সম্পর্কে অবহিত করে। নীচের উদাহরণটি দেখায় যে কীভাবে কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট বিজ্ঞাপন ইভেন্টের জন্য নিবন্ধন করতে হয়:
adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
HandleCustomNativeAdLoaded() পদ্ধতিতে একটি CustomNativeEventArgs প্যারামিটার থাকে। লোড করা কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটটি এই ইভেন্ট প্যারামিটারের মাধ্যমে অ্যাক্সেস করা যেতে পারে, যেমনটি নীচে দেখানো হয়েছে:
private boolean adLoaded;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
customNativeTemplateAd = args.nativeAd;
adLoaded = true;
}
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলি প্রদর্শন করুন
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলি যেকোনো সংখ্যক ব্যবহারকারী-সংজ্ঞায়িত চিত্র এবং পাঠ্য সম্পদের জন্য সমর্থন প্রদান করে। এই সম্পদগুলি CustomNativeTemplateAd ক্লাসের মাধ্যমে অ্যাক্সেস করা হয়, যা GetTexture2D() এবং GetText() পদ্ধতি প্রদান করে যা একটি টেমপ্লেট ক্ষেত্রের পরিবর্তনশীল ID কে একটি প্যারামিটার হিসাবে গ্রহণ করে।
নিম্নলিখিত উদাহরণ বাস্তবায়নটি একটি CustomNativeTemplateAd থেকে সম্পদ বের করে:
public const int NATIVE_AD_TEMPLATE_1 = 10063170;
public const int NATIVE_AD_TEMPLATE_2 = 10063171;
private boolean adLoaded;
private Texture2d mainImageTexture;
private string headline;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void Update()
{
if(adLoaded)
{
mainImageTexture = customNativeTemplateAd.GetTexture2D("MainImage");
headline = customNativeTemplateAd.GetText("Headline");
string templateId = customNativeTemplateAd.GetCustomTemplateId();
if (templateId == NATIVE_AD_TEMPLATE_1)
{
...
}
else if (templateId == NATIVE_AD_TEMPLATE_2)
{
...
}
...
adLoaded = false;
}
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
customNativeTemplateAd = args.nativeAd;
adLoaded = true;
...
}
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের ক্লিক এবং ইম্প্রেশন পরিচালনা করুন
কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের মাধ্যমে, আপনার অ্যাপটি ইম্প্রেশন রেকর্ড করার এবং SDK-তে ক্লিক ইভেন্ট রিপোর্ট করার জন্য দায়ী।
রেকর্ড ইম্প্রেশন
একটি কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের জন্য একটি ইম্প্রেশন রেকর্ড করতে, সংশ্লিষ্ট CustomNativeTemplateAd এ RecordImpression() পদ্ধতিটি কল করুন:
customNativeTemplateAd.RecordImpression();
ক্লিক রিপোর্ট করুন
কোনও অ্যাসেটে ক্লিক হয়েছে কিনা তা SDK-তে রিপোর্ট করতে, সংশ্লিষ্ট CustomNativeTemplateAd এ PerformClick() পদ্ধতিতে কল করুন এবং ক্লিক করা অ্যাসেটের নামটি দিন। উদাহরণস্বরূপ, যদি আপনার কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটে "MainImage" নামক একটি অ্যাসেট থাকে এবং আপনি সেই অ্যাসেটের সাথে সম্পর্কিত টেক্সচারের উপর ক্লিক রিপোর্ট করতে চান, তাহলে আপনার কোডটি এইরকম দেখাবে:
customNativeTemplateAd.PerformClick("MainImage");
যখন একটি কাস্টম টেমপ্লেট বিজ্ঞাপনে ক্লিকের রিপোর্ট করা হয়, তখন SDK থেকে দুটি সম্ভাব্য প্রতিক্রিয়া পাওয়া যায়, এই ক্রমে চেষ্টা করা হয়:
- বিজ্ঞাপনের ডিপ লিঙ্ক URL-এর জন্য একটি কন্টেন্ট রিজলভার খুঁজুন এবং প্রথমটি শুরু করুন যা সমাধান করবে।
- একটি ব্রাউজার খুলুন এবং বিজ্ঞাপনের ঐতিহ্যবাহী গন্তব্য URL-এ যান।
কাস্টম ক্লিক অ্যাকশন
ব্যবহারকারীকে ডিপ লিঙ্ক বা ওয়েব ব্রাউজারে নিয়ে যাওয়ার পরিবর্তে, আপনি আপনার কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটের জন্য ক্লিক অ্যাকশনটি নিজেই পরিচালনা করতে পারেন। আপনি AdLoader.Builder.forCustomTemplateAd() পদ্ধতিতে একটি ঐচ্ছিক Action<CustomNativeTemplateAd, string> প্রদান করে এটি করতে পারেন। এই কাস্টম ক্লিক অ্যাকশনটি সেট করে, আপনি উপরে বর্ণিত SDK এর ক্লিক আচরণকে ওভাররাইড করছেন। এখানে একটি উদাহরণ দেওয়া হল যেখানে একটি নির্দিষ্ট সম্পদের জন্য একটি ক্লিক লগ করার জন্য একটি কাস্টম ক্লিক অ্যাকশন ব্যবহার করা হয়:
private void LoadCustomNativeTemplateAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
.Build();
adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
adLoader.LoadAd(createAdRequest());
}
private void HandleCustomNativeAdClicked(CustomNativeTemplateAd customNativeTemplateAd, string assetName)
{
Debug.Log("Native ad asset with name " + assetName + " was clicked.");
}