Banner görünümleri, ekranda bir yer kaplayan dikdörtgen resim veya metin reklamlardır. Bu reklamlar, kullanıcılar uygulamayla etkileşimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz, mobil reklamlar mükemmel bir başlangıç noktasıdır.
Bu kılavuz, banner görünümlerini bir Unity uygulamasına nasıl entegre edeceğinizi gösterir. Kod snippet'leri ve talimatlarının yanı sıra banner'ların doğru boyutlandırılması hakkında bilgiler ve ek kaynaklara bağlantılar içerir.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
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 reklamları yerine test reklamları döndürecek şekilde özel olarak yapılandırıldığı için kullanımı güvenlidir.
AncakAd Manager web arayüzünde bir uygulamayı kaydettikten ve uygulamanızda kullanmak için 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 uygulamanızın MobileAds.Initialize()
yöntemini çağırarak Mobile Ads SDK'sını başlatmasını sağlayın. Bu işlem yalnızca bir kez, ideal olarak uygulamanın lansmanında yapılması gerekir.
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ı açıklamaktadır. Bu örnekte, bir banner görünümü örneği oluşturuyor, banner görünümüne reklam yüklemek için AdManagerAdRequest
kullanıyor ve daha sonra yaşam döngüsü olaylarını işleyerek ö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ı içinde 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
oluşturucusu aşağıdaki parametrelere sahiptir:
adUnitId
:AdManagerBannerView
öğesinin reklamları yüklemesi gereken reklam birimi kimliği.AdSize
: Kullanmak istediğiniz reklam boyutudur. 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ığını unutmayın. iOS'te reklam istekleri yapmak için iOS reklam birimi, Android'de istek göndermek için Android reklam birimi kullanmanız gerekir.
(İsteğe bağlı) Özel konuma sahip bir banner görünümü oluşturma
AdManagerBannerView
öğesinin ekranda nereye yerleştirildiği AdPosition
değerleri tarafından sunulana göre daha fazla kontrol için parametre olarak x ve y koordinatlarına sahip kurucuyu 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ğerlerine 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şturma
AdSize
sabit değeri 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ı boyutlu reklam öğeleriyle ilişkilendirilmiş aynı reklam birimlerini hedefleyen bir satır öğesi oluşturun.
Uygulamanızda, birden fazla AdSize
parametresini ValidAdSizes
öğesine 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),
};
AdManagerAdView
öğesinin boyutu yenileme zamanında değişirse düzeniniz yeni boyuta otomatik olarak uyum sağlayabilir. AdManagerAdView
, sonraki reklam döndürülene dek varsayılan olarak ilk parametrede geçirilen boyuta ayarlanır.
Banner reklam yükle
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 AdManagerAdRequest parametresi gerekir.
/// <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, yükleme, açma veya kapatma gibi çeşitli etkinlikleri bağlayabilirsiniz. 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ü yok et
Banner görünümünü kullanmayı bitirdiğinizde, 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.
Banner boyutları
Aşağıdaki tabloda standart banner boyutları listelenmiştir.
dp cinsinden boyut (GxY) | Açıklama | Kullanılabildiği yerler | Reklam Boyutu 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ı için tasarlanan Uyarlanabilir Banner'lar hakkında daha fazla bilgi edinin. |
Uygulama etkinlikleri
Uygulama etkinlikleri, kullanıcıların uygulama kodlarına mesaj gönderebilen reklamlar oluşturmanıza olanak tanır. Daha sonra uygulama, bu mesajlara göre işlem yapabilir.
AppEvent
kullanarak Ad Manager'daki belirli uygulama etkinliklerini dinleyebilirsiniz. Bu etkinlikler, yük ç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;
}
Reklamda bir uygulama etkinliği gerçekleştiğinde OnAppEventReceived
toplanır. Aşağıda, bu etkinliği kodunuzda nasıl işleyeceğinizi gösteren bir örnek verilmiştir:
_bannerview.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Value}.");
};
Renk adı olan bir uygulama etkinliğine bağlı olarak uygulamanızın arka plan renginin nasıl değiştirileceğini gösteren bir örneği aşağıda bulabilirsiniz:
_bannerview.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseColor(arg.Value, out color))
{
gameObject.GetComponent<Renderer>().material.color = color;
}
}
};
Aşağıda, renk uygulaması etkinliğini 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
- HelloWorld örneği: Tüm reklam biçimlerinin minimal uygulaması.