Banner reklamları oluşturma

Banner görünümleri, ekranda bir yer kaplayan dikdörtgen şeklindeki resim veya metin reklamlardır. Kullanıcılar uygulamayla etkileşim kurarken ekran üzerinde kalmaya devam eder ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamlara yeni başlıyorsanız bu kılavuzlar iyi bir başlangıç noktasıdır.

Bu kılavuzda, banner görünümlerinin Unity uygulamasına nasıl entegre edileceği gösterilmektedir. Kod snippet'leri ve talimatların yanı sıra banner'ların doğru şekilde boyutlandırılmasıyla ilgili bilgiler ve ek kaynaklara bağlantılar da yer almaktadır.

Ön koşullar

Devam etmeden önce Google Mobile Ads Unity Plugin'ı kurun.

Her zaman test reklamlarıyla test yapın

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

Ancak Ad Manager web arayüzünde bir uygulama kaydettikten ve uygulamanızda kullanılmak üzere 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 Google Mobile Ads Unity Plugin çağırarak MobileAds.Initialize() başlatmasını sağlayın. Bu işlemin yalnızca bir kez, tercihen 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, 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 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ünün bir örneğini oluşturun, banner görünümüne reklam yüklemek için AdManagerAdRequest kullanın ve yaşam döngüsü etkinliklerini 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ü örneği 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.

Bir 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üntülemelerinin yerleştirilmesi gereken konum.

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

Bir banner görünümünün ekranda yerleştirildiği yer üzerinde AdPosition değerlerinin sunduğundan daha fazla kontrol sahibi olmak için x ve y koordinatlarını parametre olarak alan 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 yerleştirilir. Burada başlangıç noktası ekranın sol üst kısmıdır.

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

AdSize sabiti 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şkilendirilmiş aynı reklam birimlerini hedefleyen bir satır öğesi oluşturun.

Uygulamanızda, AdSize parametrelerini ValidAdSizes içine 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 otomatik olarak yeni boyuta 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 yerleştirildikten sonra AdManagerBannerView sınıfında LoadAd() yöntemiyle reklam yüklemeye devam edin. Hedefleme bilgileri, hariç tutma etiketleri ve yayıncı tarafından sağlanan kimlik gibi çalışma zamanı bilgilerini içeren bir parametre 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'ı kaldırmak 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'ı yok edip yenisini 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 isteğinde bulunmanız gerekmez. Google Mobile Ads Unity Plugin Ad Manager kullanıcı arayüzünde belirttiğiniz yenileme hızı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ırma yapı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'si, 50 ile 150 dp arasında) izin verir. Bu artırılmış alan, video içerikleri 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
Belirtilen 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 daha sonra bu iletilere göre 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.

Bir reklamda uygulama etkinliği gerçekleştiğinde OnAppEventReceived oluşturulur. 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, renk adlı bir uygulama etkinliğine bağlı olarak 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;
        }
    }
};

Aşağıda, renk uygulama etkinliğini gönderen ilgili reklam öğesi yer almaktadır:

<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