ناشران Ad Manager میتوانند با تعریف لیستهای سفارشی از داراییها، قالبهای تبلیغاتی بومی خود را ایجاد کنند. این قالبها، قالبهای تبلیغاتی بومی سفارشی نامیده میشوند و میتوانند با تبلیغات رزرو شده استفاده شوند. تبلیغات بومی سفارشی به ناشران این امکان را میدهد که دادههای تصویری و رشتهای دلخواه را به برنامههای خود ارسال کنند. این دادهها توسط یک شیء CustomNativeAd نمایش داده میشوند.
یک تبلیغ بومی سفارشی بارگذاری کنید
تبلیغات بومی سفارشی با استفاده از اشیاء AdLoader بارگذاری میشوند. متد ForCustomNativeAd() AdLoader را برای مدیریت تبلیغات بومی سفارشی پیکربندی میکند. دو پارامتر برای این متد وجود دارد:
-
formatIdتبلیغ سفارشی کهAdLoaderباید درخواست کند. هر قالب تبلیغ بومی سفارشی دارای یک مقدار format ID مرتبط با خود است. این پارامتر نشان میدهد که برنامه شما میخواهد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 را ارائه میدهد تا شما را در مورد چرخه عمر یک تبلیغ بومی سفارشی مطلع کند. مثال زیر نحوه ثبت نام برای رویدادهای تبلیغاتی بومی سفارشی در یک ad loader را نشان میدهد:
private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
متد HandleCustomNativeAdLoaded() شامل یک پارامتر CustomNativeAdEventArgs است. تبلیغ بومی سفارشی که بارگذاری شده است، از طریق این پارامتر رویداد قابل دسترسی است، همانطور که در زیر نشان داده شده است:
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
this.customNativeAd = args.nativeAd;
}
متد HandleCustomNativeAdFailedToLoad() شامل یک پارامتر AdFailedToLoadEventArgs است. پیام خطا را میتوان با فراخوانی متد GetMessage در فیلد LoadAdError ، همانطور که در زیر نشان داده شده است، مشاهده کرد:
void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
string message = args.LoadAdError.GetMessage();
Debug.Log("Ad Loader fail event received with message: " + message);
}
نمایش فرمتهای سفارشی تبلیغات بومی
تبلیغات بومی سفارشی از هر تعداد تصویر و متن تعریفشده توسط کاربر پشتیبانی میکنند. این تصاویر از طریق کلاس CustomNativeAd قابل دسترسی هستند که متدهای GetTexture2D() و GetText() را ارائه میدهد که متغیر ID یک فیلد فرمت را به عنوان پارامتر دریافت میکنند.
در اینجا یک نمونه پیادهسازی وجود دارد که به داراییهای یک تبلیغ بومی سفارشی دسترسی پیدا میکند:
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 است.
ثبت برداشتها
برای ثبت نمایش یک تبلیغ سفارشی، متد RecordImpression() را در CustomNativeAd مربوطه فراخوانی کنید:
customNativeAd.RecordImpression();
گزارش کلیکها
برای گزارش دادن به SDK مبنی بر اینکه کلیکی روی یک دارایی رخ داده است، متد PerformClick() را در CustomNativeAd مربوطه فراخوانی کنید و نام دارایی که کلیک شده است را به آن ارسال کنید. برای مثال، اگر یک دارایی در قالب سفارشی خود به نام "MainImage" داشتید و میخواستید کلیکی روی بافتی که مربوط به آن دارایی است را گزارش دهید، کد شما به این شکل خواهد بود:
customNativeAd.PerformClick("MainImage");
پاسخ به اقدامات کلیک سفارشی
وقتی کلیکی روی یک تبلیغ سفارشی گزارش میشود، پاسخهای احتمالی از SDK به این ترتیب امتحان میشوند:
یک حلکننده محتوا برای URL لینک عمیق تبلیغ پیدا کنید و اولین موردی را که حل میکند، شروع کنید.
یک مرورگر باز کنید و به آدرس اینترنتی (URL) مقصد تبلیغ بروید.
اگر میخواهید به جای هدایت کاربر به یک لینک عمیق یا مرورگر وب، خودتان عمل کلیک را برای قالبهای تبلیغاتی بومی سفارشی خود مدیریت کنید، یک Action<CustomNativeAd, string> اختیاری در متد AdLoader.Builder.ForCustomNativeAd() ارائه دهید. با تنظیم این عمل کلیک سفارشی، شما رفتار کلیک 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.");
}