فرمت‌های تبلیغاتی بومی سفارشی

ناشران Google Ad Manager می‌توانند با تعریف لیست‌های سفارشی از دارایی‌ها، قالب‌های تبلیغاتی بومی خود را ایجاد کنند. این قالب‌های تبلیغاتی بومی سفارشی را می‌توان با تبلیغات رزرو شده استفاده کرد. قالب‌های تبلیغاتی بومی سفارشی به ناشران این امکان را می‌دهد که داده‌های تصویری و رشته‌ای دلخواه را به برنامه‌های خود منتقل کنند. این داده‌ها توسط یک شیء CustomNativeTemplateAd نمایش داده می‌شوند.

بارگذاری قالب‌های تبلیغاتی بومی سفارشی

قالب‌های تبلیغاتی بومی سفارشی با استفاده از اشیاء AdLoader بارگذاری می‌شوند. متد forCustomTemplateAd() AdLoader را برای مدیریت قالب‌های تبلیغاتی بومی سفارشی پیکربندی می‌کند. هر قالب تبلیغاتی بومی سفارشی دارای یک مقدار شناسه الگو مرتبط با آن است. شما باید شناسه الگوی قالب تبلیغاتی بومی سفارشی را که برنامه شما می‌خواهد AdLoader درخواست کند، مشخص کنید. شناسه‌های الگو را در رابط کاربری Ad Manager برای شناسه الگوی قالب تبلیغاتی بومی که می‌خواهید درخواست کنید، جستجو کنید.

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

از آنجا که یک واحد تبلیغاتی می‌تواند برای ارائه بیش از یک قالب خلاقانه تنظیم شود، می‌توان تابع forCustomTemplateAd() را چندین بار با شناسه‌های قالب مختلف فراخوانی کرد تا Adloader را برای بیش از یک قالب تبلیغاتی بومی سفارشی ممکن آماده کند. قطعه کد زیر نحوه آماده‌سازی یک 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 است.

ثبت برداشت‌ها

برای ثبت نمایش برای یک قالب تبلیغ بومی سفارشی، متد RecordImpression() را در CustomNativeTemplateAd مربوطه فراخوانی کنید:

customNativeTemplateAd.RecordImpression();

گزارش کلیک‌ها

برای گزارش دادن به SDK مبنی بر اینکه کلیکی روی یک دارایی رخ داده است، متد PerformClick() را در CustomNativeTemplateAd مربوطه فراخوانی کنید و نام دارایی که کلیک شده است را به آن ارسال کنید. برای مثال، اگر یک دارایی در قالب تبلیغ بومی سفارشی خود به نام "MainImage" داشتید و می‌خواستید کلیکی روی بافتی که مربوط به آن دارایی است را گزارش دهید، کد شما به این شکل خواهد بود:

customNativeTemplateAd.PerformClick("MainImage");

وقتی کلیکی روی یک تبلیغ با قالب سفارشی گزارش می‌شود، دو پاسخ ممکن از SDK وجود دارد که به ترتیب زیر امتحان می‌شوند:

  1. یک حل‌کننده محتوا برای URL لینک عمیق تبلیغ پیدا کنید و اولین موردی را که حل می‌کند، شروع کنید.
  2. یک مرورگر باز کنید و به آدرس اینترنتی (URL) مقصد تبلیغ بروید.

اقدامات کلیک سفارشی

ممکن است تصمیم بگیرید که به جای هدایت کاربر به یک لینک عمیق یا مرورگر وب، خودتان عمل کلیک را برای قالب‌های تبلیغاتی بومی سفارشی خود مدیریت کنید. می‌توانید این کار را با ارائه یک Action<CustomNativeTemplateAd, string> اختیاری در متد AdLoader.Builder.forCustomTemplateAd() انجام دهید. با تنظیم این عمل کلیک سفارشی، رفتار کلیک 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.");
}