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. ekranı üst veya alt kısmına ya da kullanıcı sayfayı kaydırırken içerikle satır içine alabilir. Banner Reklamlar belirli bir süre sonra otomatik olarak yenilenebilir. Bkz. Banner reklamlara genel bakış konulu videomuzu izleyin.
Bu kılavuzda, sabitlenmiş reklamları nasıl kullanmaya başlayacağınız uyarlanabilir banner reklamlar reklam boyutunu her cihaz için optimize ederek performansı artıran belirttiğiniz reklam genişliğidir.
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, (reklam gösterildiğinde, etrafındaki görünümlerin hareket etmesine gerek yoktur) yenilenir.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test etme
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 reklamı döndürecek şekilde özel olarak yapılandırılmıştır. kod yazma, 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 oluşturulduktan sonraki adım
bir reklam yükleyin. Bu, loadAd()
ile yapılır.
yöntemini AdManagerAdView
sınıfında bulabilirsiniz. AdManagerAdRequest
gerekir
parametresine sahip olan parametredir. Bu parametre, belirli bir
tek reklam isteği.
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 isteğinde bulunabilirsiniz.
İşte bu kadar. Uygulamanız artık banner reklam göstermeye hazır.
Reklam etkinlikleri
Reklamın yaşam döngüsünde birtakım etkinlikleri 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 tıklayın. Uygulamanız, askıya alınmış etkinlikleri devam ettirmek veya
etkileşime hazır hale getirmek için gereken diğer işleri yapar.
|
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 şunun için donanım hızlandırmayı etkinleştirmenizi öneririz:
Reklam kullanan Activity
sınıf.
Donanım hızlandırmayı etkinleştirme
Donanım hızlandırma etkinken uygulamanız düzgün çalışmıyorsa
bunu bağımsız etkinlikler için de kontrol edebilirsiniz. Etkinleştirmek veya
donanım hızlandırmayı devre dışı bırakmak için android:hardwareAccelerated
özelliğinin
<application>
ve
<activity>
öğeleri AndroidManifest.xml
içinde bulabilirsiniz. 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 satılan ve kurum reklamları ile uyumludur. doğrudan Ad Manager'da trafiğe eklenen reklam öğeleri içeren kampanyalar Bu videoda Bu reklamlar, dolgu veya üçüncü taraf ağ reklamları için kullanılır. Daha fazla bilgi için bkz. Sayma gösterim sayısı ve tıklama sayısı.
Ö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ü boyunca herhangi bir zamanda, hatta öncesinde
onAdLoaded()
çağrıldı.
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 geçirildi:
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. Bkz. Satır içi uyarlanabilir daha fazla bilgi için bolca fırsat sunuyor.