Banner reklamlar

Banner reklamlar, ekranda yer kaplayan dikdörtgen veya metin reklamlardır. Bunlar, kullanıcılar uygulama ile etkileşimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilirler. Mobil reklamcılığa yeni başladıysanız başlangıç için mükemmel bir kaynaktır. Örnek olay.

Bu kılavuz, AdMob'dan banner reklamları Unity uygulamasına nasıl entegre edeceğinizi gösterir. 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

Başlayın'ı tamamlayın. Unity uygulamanızda Google Mobile Ads Unity eklentisi zaten içe aktarılmış olmalıdır.

BannerView oluşturma

Banner görüntülemenin ilk adımı, GameObject öğesine eklenmiş bir C# komut dosyasında bir BannerView nesnesi oluşturmaktır.

Unity Düzenleyici kullanarak reklam entegrasyonunu kolaylaştırmak 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 oluşturucusu aşağıdaki parametrelere sahiptir:

  • adUnitId - BannerView uygulamasının reklam 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ıralaması, geçerli reklam konumu değerlerini listeler.

Platforma bağlı olarak farklı reklam birimlerinin nasıl kullanıldığını unutmamak önemlidir. iOS'te reklam isteğinde bulunmak 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

Bir BannerView öğesinin ekranda nereye yerleştirileceği üzerinde AdPosition değerleri tarafından sağlananlardan daha fazla kontrol için BannerViewx ve y koordinatlarına sahip oluşturucuyu parametre olarak 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. Burada kaynak, ekranın sol üst kısmıdır.

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

AdSize sabit değeri kullanmaya ek olarak, reklamınız için özel bir boyut da belirtebilirsiniz:

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

Test reklamlarıyla her zaman test yapın

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

Ancak, AdMob kullanıcı arayüzünde bir uygulamayı kaydettikten ve uygulamanızda kullanmak üzere kendi reklam birimi kimliklerinizi oluşturduktan sonra, geliştirme aşamasında cihazınızı açık bir şekilde test cihazı olarak yapılandırmanız gerekir. Bu çok önemlidir. Gerçek reklamlarda test yapmak (hiçbir zaman 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ı aldığınızdan nasıl emin olabileceğiniz hakkında bilgi için Test Reklamları bölümünü okuyun.

Reklam yükle

BannerView örneklendikten sonra, sıradaki adım reklam yüklemektir. Bu, BannerView sınıfında loadAd() yöntemiyle yapıldı. Tek bir reklam isteği hakkında çalışma zamanı bilgilerini (ör. hedefleme bilgileri) içeren bir AdRequest bağımsız değişkeni alır.

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 oldu. Uygulamanız artık AdMob'dan banner reklamlar göstermeye hazır.

Reklam etkinlikleri

Reklamınızın davranışını daha da özelleştirmek isterseniz reklamın yaşam döngüsündeki yükleme, açma, kapatma gibi çeşitli etkinliklerden yararlanabilirsiniz. Aşağıda gösterildiği gibi, uygun EventHandler için bir yetki vererek 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;
        // Called when the ad click caused the user to leave the application.
        this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication;

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

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

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

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

OnAdFailedToLoad etkinliği özel etkinlik bağımsız değişkenleri içeriyor. Hatayı açıklayan 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 tamamlandığında 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 burası izlemek için iyi bir yerdir.
OnAdClosed Kullanıcı bir reklamın hedef URL'sini görüntüledikten sonra uygulamaya geri döndüğünde bu yöntem çağrılır. Uygulamanız bu özelliği, askıya alınmış etkinlikleri devam ettirmek veya etkileşimine hazır hale getirmek için gereken diğer işlemleri yapmak amacıyla kullanabilir.
OnAdLeavingApplication Bu yöntem, onAdOpened ibaresinden sonra, bir kullanıcı başka bir uygulamayı (ör. Google Play Store) açtığında geçerli uygulamanın arka planı çalıştırılır.

Aşağıdaki tabloda standart banner boyutları listelenmektedir.

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 Leaderboard 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ı amaçlanan Uyarlanabilir Banner'lar hakkında daha fazla bilgi edinin.

Banner reklamları temizleme

Bir BannerView öğesini bitirdiğinizde, referansınızı iletmeden önce Destroy() yöntemini çağırdığınızdan emin olun:

bannerView.Destroy();

Bu, eklentinin nesnenin artık kullanılmadığını ve doldurduğu bellekle ilgili yeniden hak talebinde bulunulabileceğini bildirir. Bu yöntemin belirtilmemesi bellek sızıntılarına neden olur.

Ek kaynaklar

Örnekler

Başarı öyküleri