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

ناشران 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 است. پیام خطا را می توان با فراخوانی متد 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() را ارائه می کند که شناسه متغیر یک فیلد فرمت را به عنوان پارامتر در نظر می گیرد.

در اینجا نمونه ای از پیاده سازی است که به دارایی ها از یک تبلیغ بومی سفارشی دسترسی دارد:

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 به ترتیب زیر انجام می‌شود:

  1. یک حل‌کننده محتوا برای URL پیوند عمیق آگهی پیدا کنید و اولین موردی را که حل می‌شود شروع کنید.

  2. یک مرورگر باز کنید و به آدرس اینترنتی مقصد سنتی تبلیغ بروید.

اگر می‌خواهید به‌جای اینکه کاربر را به یک پیوند عمیق یا مرورگر وب هدایت کنید، عمل کلیک را برای قالب‌های تبلیغات بومی سفارشی خود مدیریت کنید، یک 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.");
}