Banner reklamlar

Banner görünümleri, ekranda yer kaplayan dikdörtgen resim veya metin reklamlardır. Bu reklamlar, kullanıcılar uygulamayla etkileşim kurarken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz bu tür bir başlangıç noktası olarak çok iyi bir noktadır.

Bu kılavuzda, banner görünümlerini bir Unity uygulamasına nasıl entegre edeceğiniz gösterilmektedir. Kod snippet'leri ve talimatların yanı sıra, banner'ları doğru şekilde boyutlandırmayla ilgili bilgiler ve ek kaynakların bağlantılarını da içerir.

Ön koşullar

Her zaman test reklamlarıyla test etme

Aşağıdaki örnek kod, test reklamları istemek için kullanabileceğiniz bir reklam birimi kimliği içerir. Her istek için üretim reklamı yerine test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Bu sayede kullanımı güvenlidir.

Ancak Ad Manager web arayüzüne bir uygulama kaydettikten ve 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ırın.

/6499/example/banner

Mobile Ads SDK'sını başlatma

Reklamları yüklemeden önce, MobileAds.Initialize() çağırarak uygulamanızın Mobile Ads SDK'sını başlatmasını sağlayın. Bunun yalnızca bir kez yapılması gerekir. İdeal olarak uygulama lansmanında bu yapılır.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

Uyumlulaştırma kullanıyorsanız reklamları yüklemeden önce geri çağırmanın gerçekleşmesini bekleyin. Bu işlem, tüm uyumlulaştırma bağdaştırıcılarının başlatılmasını sağlar.

BannerView örneği

Aşağıdaki örnek kod, banner görünümünün nasıl kullanılacağını ayrıntılı olarak açıklamaktadır. Bu örnekte bir banner görünümünün örneğini oluşturuyor, bir reklamı banner görünümüne yüklemek için AdManagerAdRequest kullanacak ve daha sonra yaşam döngüsü olaylarını yöneterek özelliklerini genişletiyorsunuz.

Banner görünümü oluşturma

Banner görünümünü kullanmanın ilk adımı, GameObject öğesine ekli bir C# komut dosyasında bir banner görünümü örneği oluşturmaktır.


  // This ad unit is configured to always serve test ads.
  private string _adUnitId = "/6499/example/banner";

  AdManagerBannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

AdManagerBannerView kurucusu aşağıdaki parametrelere sahiptir:

  • adUnitId: AdManagerBannerView öğesinin reklamları yüklemesi gereken reklam birimi kimliği.
  • AdSize: Kullanmak istediğiniz reklam boyutu. Ayrıntılar için Banner boyutlarına bakın.
  • AdPosition: Banner görünümlerinin 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ığına dikkat edin. iOS'te reklam istekleri yapmak için bir iOS reklam birimi, Android'de istek yapmak için bir Android reklam birimi kullanmanız gerekir.

(İsteğe bağlı) Özel konuma sahip bir banner görünümü oluşturun

Bir AdManagerBannerView öğesinin ekranda yerleştirileceği yer AdPosition değerleri tarafından sunulanlara göre üzerinde daha fazla kontrol sahibi olmak için parametre olarak x ve y koordinatlarına sahip oluşturucuyu kullanın:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, 0, 50);

AdManagerBannerView öğesinin sol üst köşesi, oluşturucuya iletilen x ve y değerlerinde konumlandırılır. Burada başlangıç noktası ekranın sol üst kısmıdır.

(İsteğe bağlı) Özel boyutlu banner görünümü oluşturun

AdSize sabiti kullanmaya ek olarak, reklamınız için özel bir boyut da belirtebilirsiniz:

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new AdManagerBannerView(_adUnitId, adSize, AdPosition.Bottom);

(İsteğe bağlı) Birden çok reklam boyutu

Ad Manager, AdManagerBannerView içinde yayınlanmaya uygun olabilecek birden fazla reklam boyutu belirtmenize olanak tanır. Bu özelliği SDK'da uygulamadan önce, farklı boyutlardaki reklam öğeleriyle ilişkili aynı reklam birimlerini hedefleyen bir satır öğesi oluşturun.

Uygulamanızda, ValidAdSizes öğesine birden fazla AdSize parametresi iletin:

var adView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
adView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner, new AdSize(120, 20), new AdSize(250, 250),
};

Yenileme zamanında AdManagerAdView boyutu değişirse düzeniniz yeni boyuta otomatik olarak uyum sağlayabilir. AdManagerAdView, bir sonraki reklam döndürülene kadar varsayılan olarak ilk parametrede iletilen boyuta ayarlanır.

Banner reklam yükleme

AdManagerBannerView uygulandıktan sonra, AdManagerBannerView sınıfında LoadAd() yöntemini kullanarak bir reklam yükleyin. Hedefleme bilgileri, hariç tutma etiketleri ve yayıncı tarafından sağlanan kimlik gibi çalışma zamanı bilgilerini barındıran bir parametresi alır.

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateAdManagerBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdManagerAdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

Banner görüntüleme etkinliklerini dinleme

Reklamınızın davranışını özelleştirmek için reklamın yaşam döngüsünde gerçekleşen yükleme, açma veya kapatma gibi bir dizi etkinliği kullanabilirsiniz. Bu etkinlikleri dinlemek için bir temsilci kaydedin:

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

Banner görünümünü kaldır

Banner görünümünü kullanmayı tamamladığınızda, kaynakları serbest bırakmak için Destroy() yöntemini çağırdığınızdan emin olun.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

İşte bu kadar. Uygulamanız artık banner reklam göstermeye hazır.

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

dp (GxY) cinsinden boyut 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 Boy 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ı amaçlanan Uyarlanabilir Banner'lar hakkında daha fazla bilgi edinin.

Uygulama etkinlikleri

Uygulama etkinlikleri, çocuğunuzun uygulama koduna mesaj gönderebilen reklamlar oluşturmanıza olanak tanır. Uygulama, daha sonra bu mesajlara dayalı olarak işlem yapabilir.

AppEvent kullanarak Ad Manager'a özgü uygulama etkinliklerini dinleyebilirsiniz. Bu etkinlikler, yükleme çağrılmadan önce bile, reklamın yaşam döngüsü boyunca herhangi bir zamanda gerçekleşebilir.

namespace GoogleMobileAds.Api.AdManager;

/// The App event message sent from the ad.
public class AppEvent
{
    // Name of the app event.
    string Name;
    // Argument passed from the app event.
    string Value;
}

Bir reklamda uygulama etkinliği gerçekleştiğinde OnAppEventReceived tetiklenir. Aşağıda, bu etkinliğin kodunuzda nasıl işleneceğine dair bir örnek verilmiştir:

_bannerview.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Value}.");
};

Aşağıda, renk adlı bir uygulama etkinliğine bağlı olarak uygulamanızın arka plan renginin nasıl değiştirileceğini gösteren bir örnek verilmiştir:

_bannerview.OnAppEventReceived += (AppEvent args) =>
{
  if (args.Name == "color")
  {
    Color color;
    if (ColorUtility.TryParseColor(arg.Value, out color))
    {
      gameObject.GetComponent<Renderer>().material.color = color;
    }
  }
};

Burada da, renkli uygulama etkinliği gönderen ilgili reklam öğesi gösterilmektedir:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

Ek kaynaklar