Özel Yerel Reklam Biçimleri

Google Ad Manager yayıncıları, özel öğe listeleri tanımlayarak kendi doğal reklam biçimlerini oluşturabilir. Bu özel yerel reklam biçimleri ayrılmış reklamlarla kullanılabilir. Özel doğal reklam biçimleri, yayıncıların uygulamalarına rastgele resim ve dize verileri aktarmasına olanak tanır. Bu veriler, CustomNativeTemplateAd nesnesiyle gösterilir.

Özel yerel reklam biçimlerini yükleme

Özel doğal reklam biçimleri AdLoader nesneleri kullanılarak yüklenir. forCustomTemplateAd() yöntemi, AdLoader öğesini özel yerel reklam biçimlerini işleyecek şekilde yapılandırır. Her özel doğal reklam biçimiyle ilişkilendirilmiş bir şablon kimliği değeri vardır. Uygulamanızın AdLoader tarafından istenmesini istediği özel yerel reklam biçiminin şablon kimliğini belirtmeniz gerekir. İstediğiniz doğal reklam biçiminin şablon kimliği için Ad Manager kullanıcı arayüzünde şablon kimliklerini arayın.

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

Tek bir reklam birimi birden fazla reklam öğesi şablonu yayınlayacak şekilde ayarlanabildiğinden, forCustomTemplateAd(), birden fazla olası özel yerel reklam biçimi için Adloader hazırlamak üzere farklı şablon kimlikleriyle birden fazla kez çağrılabilir. Aşağıdaki kod snippet'inde, birden fazla özel yerel reklam biçimi şablonu için AdLoader nasıl hazırlanacağı gösterilmektedir.

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

Özel yerel reklam biçimi reklam etkinlikleri

AdLoader sınıfı, özel bir doğal reklam biçiminin yaşam döngüsü hakkında sizi bilgilendirmek için EventHandler türünde reklam etkinlikleri sağlar. Aşağıdaki örnekte, özel doğal reklam biçimi reklam etkinliklerine nasıl kaydolacağınız gösterilmektedir:

adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

HandleCustomNativeAdLoaded() yöntemi CustomNativeEventArgs parametresini içeriyor. Yüklenen özel doğal reklam biçimine aşağıdaki örnekte gösterildiği gibi bu etkinlik parametresi üzerinden erişilebilir:

private boolean adLoaded;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    customNativeTemplateAd = args.nativeAd;
    adLoaded = true;
}

Özel yerel reklam biçimlerini görüntüleme

Özel yerel reklam biçimleri, kullanıcı tanımlı herhangi bir sayıda resim ve metin öğesini destekler. Bu öğelere, bir şablon alanının değişken kimliğini parametre olarak alan GetTexture2D() ve GetText() yöntemlerini sağlayan CustomNativeTemplateAd sınıfı üzerinden erişilir.

Aşağıdaki örnek uygulamada, öğeler bir CustomNativeTemplateAd öğesinden çıkarılır:

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;
    ...
}

Özel yerel reklam biçimi tıklamalarını ve gösterimlerini işleme

Özel doğal reklam biçimlerinde, gösterimleri kaydetme ve tıklama etkinliklerini SDK'ya bildirme sorumluluğu uygulamanıza aittir.

Kayıt gösterimleri

Özel yerel reklam biçimi için gösterim kaydetmek üzere ilgili CustomNativeTemplateAd üzerinde RecordImpression() yöntemini çağırın:

customNativeTemplateAd.RecordImpression();

Rapor tıklamaları

Bir öğenin tıklanma işlemini SDK'ya bildirmek için ilgili CustomNativeTemplateAd üzerinde PerformClick() yöntemini çağırın ve tıklanan öğenin adını iletin. Örneğin, özel doğal reklam biçiminizde "MainImage" adlı bir öğeniz varsa ve bu öğeye karşılık gelen dokudaki bir tıklamayı bildirmek istiyorsanız kodunuz şu şekilde görünür:

customNativeTemplateAd.PerformClick("MainImage");

Özel şablonlu bir reklamda tıklama bildirildiğinde SDK'dan şu iki olası yanıt denenir (bu sırayla):

  1. Reklamın derin bağlantı URL'si için bir içerik çözümleyici bulun ve çözüme kavuşan ilk çözümleyiciyi başlatın.
  2. Bir tarayıcı açın ve reklamın geleneksel hedef URL'sine gidin.

Özel tıklama işlemleri

Kullanıcıyı derin bağlantıya veya web tarayıcısına yönlendirmek yerine, özel yerel reklam biçimleriniz için tıklama işlemini kendiniz yönetmek isteyebilirsiniz. Bunu, AdLoader.Builder.forCustomTemplateAd() yönteminde isteğe bağlı bir Action<CustomNativeTemplateAd, string> sağlayarak yapabilirsiniz. Bu özel tıklama işlemini ayarlayarak SDK'nın yukarıda açıklanan tıklama davranışını geçersiz kılarsınız. Belirli bir öğe için tıklamayı kaydetmek üzere özel bir tıklama işlemi kullanan örneği aşağıda bulabilirsiniz:

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.");
}