Banner reklamları oluşturma

Banner görünümleri, ekranda bir yer kaplayan dikdörtgen resim veya metin reklamlardır. Kullanıcılar uygulamayla etkileşim kurarken ekranda kalmaya devam eder ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz bu reklamlar başlamak için idealdir.

Bu kılavuzda, banner görünümlerini 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ırma hakkında bilgiler ve ek kaynaklara bağlantılar da yer alır.

Ön koşullar

Devam etmeden önce Google Mobile Ads Unity Plugin ayarlarını yapın.

Her zaman test reklamlarıyla test edin

Aşağıdaki örnek kod, test reklamları istemek için kullanabileceğiniz bir reklam birimi kimliği içerir. Bu kimlik, her istek için üretim reklamları yerine test reklamları döndürecek şekilde özel olarak yapılandırıldığından güvenle kullanılabilir.

Ancak Ad Manager web arayüzünde bir uygulama kaydettikten ve uygulamanızda kullanılacak kendi reklam birimi kimliklerinizi oluşturduktan sonra, geliştirme sırasında cihazınızı açıkça test cihazı olarak yapılandırın.

/21775744923/example/interstitial

Google Mobile Ads Unity Plugin başlatılıyor

Reklamları yüklemeden önce uygulamanızın MobileAds.Initialize() yöntemini çağırarak Google Mobile Ads Unity Plugin başlatmasını sağlayın. Bu işlemin yalnızca bir kez, ideal olarak uygulama başlatılırken yapılması gerekir.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        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ğırma işleminin gerçekleşmesini bekleyin. Bu sayede tüm uyumlulaştırma bağdaştırıcılarının başlatılması sağlanır.

BannerView örneği

Aşağıdaki örnek kodda, banner görünümünün nasıl kullanılacağı ayrıntılı olarak açıklanmaktadır. Örnekte, banner görünümü örneği oluşturun, banner görünümüne reklam yüklemek için AdManagerAdRequest kullanın ve ardından yaşam döngüsü olaylarını işleyerek özelliklerini genişletin.

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

Banner görünümü kullanmanın ilk adımı, banner görünümünün bir örneğini oluşturmaktır.

// Create a 320x50 banner at top of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

AD_UNIT_ID yerine reklam birimi kimliğinizi yazın.

AdManagerBannerView için oluşturucunun aşağıdaki parametreleri vardır:

  • adUnitId: Yüklenecek banner reklamın reklam birimi kimliği.
  • AdSize: Kullanmak istediğiniz banner boyutu.
  • AdPosition: Banner görünümlerinin yerleştirileceği konum.

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

Banner görünümünün ekranda yerleştirileceği yer üzerinde AdPosition değerlerinin sunduğundan daha fazla kontrol sahibi olmak için x ve y koordinatlarını parametre olarak içeren oluşturucuyu kullanın:

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

Banner görünümünün sol üst köşesi, oluşturucuya iletilen x ve y değerlerine göre konumlandırılır. Burada başlangıç noktası, ekranın sol üst köşesidir.

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

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

// Create a 250x250 banner at the bottom of the screen.
AdSize adSize = new AdSize(250, 250);
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", adSize, AdPosition.Bottom);

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

Ad Manager, bir 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 birden fazla AdSize parametresini ValidAdSizes yöntemine iletin:

// Create a 250x250 banner at the bottom of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

// Add multiple ad sizes.
adManagerBannerView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner,
    new AdSize(120, 20),
    new AdSize(250, 250),
};

AdManagerAdView, yenileme sırasında boyut değiştirirse düzeniniz yeni boyuta otomatik olarak uyum sağlayabilmelidir. AdManagerAdView, bir sonraki reklam döndürülene kadar ilk parametrede iletilen boyutu varsayılan olarak kullanır.

Banner reklam yükleme

AdManagerBannerView oluşturulduktan sonra AdManagerBannerView sınıfındaki LoadAd() yöntemini kullanarak reklam yükleyin. Hedefleme bilgileri, hariç tutma etiketleri ve yayıncı tarafından sağlanan kimlik gibi çalışma zamanı bilgilerini içeren bir parametresi alır.

Reklam yüklemek için bir AdManagerAdRequest oluşturun ve bunu LoadAd() yöntemine iletin.

// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());

Banner görüntüleme etkinliklerini dinleme

Reklamınızın davranışını özelleştirmek için reklamın yaşam döngüsündeki yükleme, açma veya kapatma gibi çeşitli etkinliklere bağlanabilirsiniz. Bu etkinlikleri dinlemek için bir temsilci kaydedin:

adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};

Banner görünümünü yok etme

Banner'ı yok etmek için Destroy() yöntemini çağırarak kaynakları serbest bırakın:

if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}

Yüklenemeyen banner'lar için banner'ı silip yeni bir banner oluşturmak yerine yenilemenizi öneririz. Ayrıntılar için Reklam yenileme başlıklı makaleyi inceleyin.

Reklam yenileme

Reklam biriminizi yenilenecek şekilde yapılandırdıysanız reklam yüklenemediğinde başka bir reklam istemeniz gerekmez. Google Mobile Ads Unity Plugin, Ad Manager kullanıcı arayüzünde belirttiğiniz tüm yenileme hızlarına uyar. Yenilemeyi etkinleştirmediyseniz yeni bir istek gönderin. Yenileme hızı ayarlama gibi reklam birimi yenileme hakkında daha fazla bilgi için Mobil uygulamalarda reklamların yenileme hızı başlıklı makaleyi inceleyin.

Büyük uyarlanabilir banner'lar, kaydırılmayan düzenler için tasarlanmış daha büyük bir biçim sunar. Bu banner'lar, standart sabit uyarlanabilir banner'lara kıyasla daha yüksek bir maksimum yüksekliğe (ekran yüksekliğinin% 20'sine kadar, 50 ile 150 dp arasında) izin verir. Bu genişletilmiş alan, video içerikler için optimize edilmiştir.

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

Uygulama etkinlikleri

Uygulama etkinlikleri, uygulama kodlarına mesaj gönderebilen reklamlar oluşturmanıza olanak tanır. Uygulama, bu mesajlara göre işlem yapabilir.

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

OnAppEventReceived, bir reklamda uygulama etkinliği gerçekleştiğinde tetiklenir. Bu etkinliği kodunuzda nasıl işleyeceğinize dair bir örnek aşağıda verilmiştir:

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

Aşağıda, uygulamanızın arka plan rengini, adı "color" olan bir uygulama etkinliğine göre nasıl değiştireceğinizi gösteren bir örnek verilmiştir:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            renderer.material.color = color;
        }
    }
};

Renk uygulama etkinliğini gönderen ilgili reklam öğesi de aşağıda verilmiştir:

<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: 0;
      left: 0;
      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