Banner reklamlar

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Banner reklamlar, ekranda bir yer kaplayan dikdörtgen resim veya metin reklamlardır. Bunlar, kullanıcılar uygulamayla etkileşimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz başlangıç için mükemmel bir yerdir. Başarılı örnek.

Bu kılavuzda, AdMob'dan banner reklamları bir Unity uygulamasına nasıl entegre edeceğiniz açıklanmaktadır. Kod snippet'leri ve talimatların yanı sıra, banner'ları doğru şekilde boyutlandırma ve ek kaynaklara bağlantılar da içerir.

Ön koşullar

BannerView Oluşturma

Banner göstermenin ilk adımı, GameObject adresine bağlı bir C# komut dosyasında BannerView nesnesi oluşturmaktır.

Unity Editor kullanarak daha kolay reklam entegrasyonu için yeni Reklam Yerleşimleri Beta'yı deneyin.

using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;
    ...
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    }
}

BannerView kurucusu aşağıdaki parametrelere sahiptir:

  • adUnitId - BannerView uygulamasının reklamlarını yüklemesi gereken AdMob reklam birimi kimliği.
  • AdSize - Kullanmak istediğiniz AdMob reklam boyutu (ayrıntılar için Banner boyutları bölümüne bakın).
  • AdPosition - Banner reklamın yerleştirilmesi gereken konum. AdPosition sıralama geçerli reklam konumu değerlerini listeler.

Platforma bağlı olarak farklı reklam birimlerinin nasıl kullanıldığını not etmek önemlidir. iOS'ta reklam isteği göndermek için bir iOS reklam birimi ve Android'de istek yapmak için bir Android reklam birimi kullanmanız gerekir.

(İsteğe bağlı) Özel reklam konumu

BannerView değerinin ekranda nereye yerleştirileceği ve AdPosition değerleri tarafından sağlananlardan daha fazla kontrol sahibi olmak için parametre olarak x ve y koordinatlarına sahip BannerViewoluşturucuyu kullanın:

// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);

BannerView öğesinin sol üst köşesi, oluşturucuya iletilen x ve y değerlerine konumlandırılır. Kaynak, ekranın sol üst kısmıdır.

(İsteğe bağlı) Özel reklam boyutları

AdSize sabiti kullanmanın yanı sıra reklamınız için özel bir boyut da belirtebilirsiniz:

AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);

Her zaman test reklamlarıyla test yapın

Yukarıdaki örnek kod bir reklam birimi kimliği içerir ve bu kimlikle reklam isteğinde bulunabilirsiniz. Her istek için üretim reklamları yerine test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Bu sayede kullanımı güvenlidir.

Ancak AdMob kullanıcı arayüzüne bir uygulama kaydedip uygulamanızda kullanmak üzere kendi reklam birimi kimliklerinizi oluşturduktan sonra, geliştirme sırasında cihazınızı açık bir şekilde test cihazı olarak yapılandırmanız gerekir. Bu çok önemlidir. Gerçek reklamlarla test etmek (bunlara hiç dokunmasanız bile) AdMob politikasına aykırıdır ve hesabınızın askıya alınmasına neden olabilir. Geliştirirken her zaman test reklamlarını aldığınızdan nasıl emin olabileceğiniz hakkında bilgi için Test Reklamları bölümünü okuyun.

Reklam yükle

BannerView öğesi örneklendikten sonra, sıradaki adım bir reklam yüklemektir. Bu işlem, BannerView sınıfındaki loadAd() yöntemiyle yapıldı. Tek bir reklam isteğiyle ilgili çalışma zamanı bilgilerini (hedefleme bilgileri gibi) içeren AdRequest bağımsız değişkenini gerektirir.

Bir reklamın nasıl yükleneceğini gösteren bir örneği aşağıda bulabilirsiniz:

...
    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }
...

İşte bu kadar. Uygulamanız artık AdMob'dan banner reklamlar göstermeye hazır.

Reklam etkinlikleri

Reklamın davranışını daha da özelleştirmek için reklamın yaşam döngüsündeki yükleme, açma, kapatma gibi çeşitli etkinliklere odaklanabilirsiniz. Aşağıda gösterildiği gibi, uygun EventHandler için yetki verilmiş bir kişi kaydederek bu etkinlikleri dinleyin.

...
using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;

    public void Start()
    {
        this.RequestBanner();
    }

    private void RequestBanner()
    {

        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Called when an ad request has successfully loaded.
        this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad;
        // Called when an ad is clicked.
        this.bannerView.OnAdOpening += this.HandleOnAdOpened;
        // Called when the user returned from the app after an ad click.
        this.bannerView.OnAdClosed += this.HandleOnAdClosed;

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();

        // Load the banner with the request.
        this.bannerView.LoadAd(request);
    }

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
    }

    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                            + args.LoadAdError.GetMessage());
    }

    public void HandleOnAdOpened(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpened event received");
    }

    public void HandleOnAdClosed(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdClosed event received");
    }
}

OnAdFailedToLoad etkinliği, özel etkinlik bağımsız değişkenleri içeriyor. Hatanın açıklandığı bir Message içeren HandleAdFailedToLoadEventArgs örneğini geçirir:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
  MonoBehaviour.print("Banner failed to load: " + args.Message);
  // Handle the ad failed to load event.
};
Reklam etkinliğiAçıklama
OnAdLoaded Bir reklamın yüklenmesi bittiğinde OnAdLoaded etkinliği yürütülür.
OnAdFailedToLoad Bir reklam yüklenemediğinde OnAdFailedToLoad etkinliği çağrılır. Message parametresi, oluşan hatanın türünü açıklar.
OnAdOpening Bu yöntem, kullanıcı bir reklama dokunduğunda çağrılır. Tıklamaları izlemek için bir analiz paketi kullanıyorsanız buradaki verileri kaydetmek iyi bir seçenektir.
OnAdClosed Kullanıcı bir reklamın hedef URL'sini görüntüledikten sonra uygulamaya döndüğünde bu yöntem çağrılır. Uygulamanız, uygulamayı askıya alınmış etkinlikleri devam ettirmek veya etkileşim için hazır hale getirmek üzere gereken diğer çalışmaları gerçekleştirmek amacıyla kullanabilir.

Aşağıdaki tabloda standart banner boyutları listelenmiştir.

dp cinsinden boyut (GxY) Açıklama Kullanılabilirlik AdSize sabiti
320x50 Standart Banner Telefonlar ve Tabletler BANNER
320x100 Büyük Banner Telefonlar ve Tabletler LARGE_BANNER
300x250 IAB Orta Dikdörtgen Telefonlar ve Tabletler MEDIUM_RECTANGLE
468x60 IAB Tam Boyutlu Banner Tabletler FULL_BANNER
728x90 IAB Skor Tablosu Tabletler LEADERBOARD
Sağlanan genişlik x Uyarlanabilir yükseklik Uyarlanabilir banner Telefonlar ve Tabletler Yok
Ekran genişliği x 32|50|90 Akıllı banner Telefonlar ve Tabletler SMART_BANNER
Akıllı Banner'ların yerini alması planlanan Uyarlanabilir Banner'lar hakkında daha fazla bilgi edinin.

Banner reklamları temizleyin

BannerView ile işiniz bittiğinde, referansınızı bırakmadan önce Destroy() yöntemini çağırdığınızdan emin olun:

bannerView.Destroy();

Bu işlem, eklentiye nesnenin artık kullanılmadığını ve dolu bellekte bulunabileceğini bildirir. Bu yöntem çağrılmazsa bellek sızıntıları ortaya çıkar.

Ek kaynaklar

Örnekler

Başarı öyküleri