Banner reklamlar, uygulama düzeninin bir kısmını kaplayan dikdörtgen reklamlardır. Onlar Kullanıcılar uygulamayla etkileşim kurarken ekranda kalır. kullanıcı sayfayı kaydırırken içerikle satır içi şekilde ayarlayabilirsiniz. Banner reklamlar, belirli bir süre sonra otomatik olarak yenilenebilir. Daha fazla bilgi için Banner reklamlara genel bakış başlıklı makaleyi inceleyin.
Bu kılavuzda, belirttiğiniz reklam genişliğini kullanarak reklam boyutunu her cihaz için optimize ederek performansı en üst düzeye çıkaran sabitlenmiş uyarlanabilir banner reklamları kullanmaya nasıl başlayacağınız açıklanmaktadır.
Sabit uyarlanabilir banner reklamlar, normal reklamlar yerine sabit en boy oranlı reklamlardır. sabit boyutlu reklamlar En boy oranı, 320x50 endüstri standardına benzer. Bir kez mümkün olan tam genişliği belirtirseniz, bu değer size optimum belirlemektir. Optimum yükseklik, aynı cihazdan gelen isteklerde değişmez ve reklam yenilendiğinde çevredeki görünümlerin hareket etmesine gerek yoktur.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test yapın
Uygulamalarınızı oluştururken ve test ederken, uygulamalarınızın yanı sıra üretim reklamlarıdır. Aksi takdirde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, aşağıdakiler için özel test reklam birimi kimliğimizi kullanmaktır: Android banner'ları:
/21775744923/example/adaptive-banner
Her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanabilirsiniz. Tek yapmanız gereken uygulamanızı yayınlamadan önce bunu kendi reklam birimi kimliğinizle değiştirin.
Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test Reklamlar.
AdManagerAdView'u düzene ekleme
Banner göstermenin ilk adımı, AdManagerAdView
değişiklik yapabilirsiniz:
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
Reklam yükle
AdManagerAdView uygulandıktan sonraki adım
bir reklam yükleyin. Bu, loadAd()
ile yapılır.
yöntemini AdManagerAdView
sınıfında bulabilirsiniz. Tek bir reklam isteğiyle ilgili hedefleme bilgileri gibi çalışma zamanı bilgilerini içeren bir AdManagerAdRequest
parametresi alır.
Aşağıda, reklamların nasıl yükleneceğini gösteren bir örnek verilmiştir:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
Reklam yüklenemezse, izin verileceğinde açıkça başka bir reklam istemenize reklam biriminizi yenilenecek şekilde yapılandırdığınız sürece; Google Mobile Ads SDK'sı Ad Manager'de belirttiğiniz yenileme hızına uyar web arayüzü. Yenilemeyi etkinleştirmediyseniz yeni bir istek göndermeniz gerekir.
İşte bu kadar. Uygulamanız artık banner reklam göstermeye hazır.
Reklam etkinlikleri
Reklamın yaşam döngüsünde bir dizi etkinliği dinleyebilirsiniz. Bu işlemler arasında yükleme, reklam gösterimi ve tıklamasının yanı sıra reklam açma ve kapatma etkinlikleri. Bu işlem önerilir geri çağırmayı deneyin.Java
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
Bu ayardaki geçersiz kılınabilir yöntemlerin her biri,
AdListener
bir reklamın yaşam döngüsündeki bir etkinliğe karşılık gelir.
Geçersiz kılınabilir yöntemler | |
---|---|
onAdClicked() |
onAdClicked()
yöntemi çağrılır.
|
onAdClosed() |
onAdClosed()
yöntemi çağrılır. Kullanıcı bir reklamın
hedef URL'yi ekleyin. Uygulamanız, askıya alınmış etkinlikleri devam ettirmek veya etkileşime hazır hale gelmek için gereken diğer işlemleri yapmak için bu izni kullanabilir.
|
onAdFailedToLoad() |
onAdFailedToLoad()
yöntemi, parametre içeren tek yöntemdir. Şu türdeki hata parametresi:
LoadAdError , hangi hatanın oluştuğunu açıklar. Daha fazla bilgi için
Daha fazla bilgi için Reklam Yükü Hatalarını Ayıklama
dokümanlarına göz atın.
|
onAdImpression() |
onAdImpression()
yöntemi çağrılır.
|
onAdLoaded() |
onAdLoaded()
yöntemi, reklamın yüklenmesi bittiğinde yürütülür. Gecikmeli olarak
AdManagerAdView ekleniyor
siz bir reklamın yükleneceğinden emin olana kadar etkinliğinize veya parçanıza
Bunu burada yapabilirsiniz.
|
onAdOpened() |
onAdOpened()
yöntemi çağrılır.
|
Video reklamlar için donanım hızlandırma
Video reklamların banner reklam görünümlerinde başarılı bir şekilde gösterilmesi için donanım için etkinleştirilmelidir.
Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar
somut olarak ortaya koyar. Bu durum uygulamanız için geçerliyse reklam kullanan Activity
sınıfları için donanım hızlandırmayı etkinleştirmenizi öneririz.
Donanım hızlandırmayı etkinleştirme
Uygulamanız, donanım hızlandırması genel olarak açıkken düzgün çalışmıyorsa bu ayarı ayrı etkinlikler için de kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml
'inizdeki <application>
ve <activity>
öğeleri için android:hardwareAccelerated
özelliğini kullanabilirsiniz. Aşağıdaki örnekte,
uygulamanın tamamı için hızlandırma ancak tek bir etkinlik için devre dışı bırakma:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Bkz. Donanım hızlandırma rehberini inceleyin. donanım hızlandırmayı denetleme seçenekleri hakkında bilgi edinin. Lütfen tek reklam görünümleri, etkinlik için devre dışı bırakıldığından, etkinlikte donanım hızlandırmanın da etkinleştirilmiş olması gerekir.
Manuel gösterim sayma
Manuel gösterim sayma yalnızca doğrudan Ad Manager'da trafiğe eklenen reklam öğelerinin bulunduğu doğrudan satılan ve kurumsal kampanyalarla uyumludur. Bu videoda Bu reklamlar, dolgu veya üçüncü taraf ağ reklamları için kullanılır. Daha fazla bilgi için Gösterimleri ve tıklamaları sayma başlıklı makaleyi inceleyin.
Özel bir feed'iniz varsa gösterim ping'lerini Ad Manager'a
bir gösterimin ne zaman kaydedileceğine ilişkin koşullar içerir. Bunu yapmak için
Reklam yüklenmeden önceki manuel gösterimler için AdManagerAdRequest
:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
Bir reklamın başarıyla döndürüldüğünü ve ekranda gösterildiğini tespit ettiğinizde, bir gösterimi manuel olarak kaydedebilirsiniz:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
Uygulama etkinlikleri
Uygulama etkinlikleri, çocuğunuzun uygulama koduna mesaj gönderebilen reklamlar oluşturmanıza olanak tanır. Uygulama Ardından, bu mesajlara dayalı olarak işlem yapabilir.
AppEventListener
kullanarak Ad Manager'a özgü uygulama etkinliklerini dinleyebilirsiniz.
Bu etkinlikler, reklamın yaşam döngüsü sırasında dilediğiniz zaman (onAdLoaded()
çağrılmadan önce bile) gerçekleşebilir.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
Bir uygulama etkinliği gerçekleştiğinde void onAppEvent(String name, String info)
çağrılır
daha fazla bilgi edineceksiniz. Bu arayüz, etkinliğiniz veya başka herhangi bir
nesne:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
ve ardından AdManagerAdView
cihazına iletildi:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
Uygulamanızın arka plan rengini nasıl değiştireceğinizi gösteren bir örneği aşağıda bulabilirsiniz renk adlı bir uygulama etkinliğine bağlı olarak şunları yapabilirsiniz:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
Burada da, renk uygulama etkinliği mesajlarını şuraya gönderen ilgili reklam öğesi İşleyici:
<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>
Uygulama etkinliklerinin uygulanması için: API Demo uygulaması.
Ek kaynaklar
GitHub'daki örnekler
Sonraki adımlar
Daraltılabilir banner'lar
Daraltılabilir banner reklamlar, başlangıçta daha büyük bir boyutta daraltmayı sağlayacak bir düğme bulunan yer paylaşımlı reklam. Şunu kullanabilirsiniz: kullanarak performansınızı daha da optimize edebilirsiniz. Daha fazla bilgi için daraltılabilir banner reklamlar konusuna bakın.
Satır içi uyarlanabilir banner'lar
Satır içi uyarlanabilir banner'lar, sabit uyarlanabilir banner'lara kıyasla daha büyük ve daha uzundur banner'lar. Değişken yükseklikte ve cihaz ekranı kadar uzun olabilir. Satır içi uyarlanabilir banner'lar, şunun için sabit uyarlanabilir banner reklamların yerine önerilir: Kaydırılabilir içeriğe banner reklam yerleştiren uygulamalar. Daha fazla bilgi için satır içi uyarlanabilir banner'lara bakın.