Banner reklamlar, cihaz ekranının üst veya alt kısmındaki uygulama düzeninde bir yeri kaplar. Kullanıcılar uygulamayla etkileşimde bulunurken ekranda kalırlar ve belirli bir süre sonra otomatik olarak yenilenebilirler. Mobil reklamcılığa yeni başladıysanız başlangıç için mükemmel bir seçenektir. Başarılı örnek.
Bu kılavuzda,AdMob şirketinden gelen banner reklamların bir Android uygulamasına nasıl entegre edileceği gösterilmektedir. Ayrıca kod snippet'leri ve talimatların yanı sıra, banner'ları doğru şekilde boyutlandırma ve ek kaynaklara bağlantılar hakkında bilgiler de içerir.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Düzene AdView ekleyin
Bir banner'ı görüntülemenin ilk adımı, görüntülemek istediğiniz
Activity
veya Fragment
düzenine AdView
yerleştirmektir. Bunu yapmanın en kolay yolu, ilgili XML düzeni dosyasına bir URL eklemektir. Aşağıda, bir etkinliğin AdView
örneğini gösteren bir örnek verilmiştir:
# main_activity.xml ... <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView> ...
Aşağıdaki zorunlu özellikleri dikkate alın:
ads:adSize
- Bunu, kullanmak istediğiniz reklam boyutuna ayarlayın. Sabit değer tarafından tanımlanan standart boyutu kullanmak istemiyorsanız bunun yerine özel bir boyut ayarlayabilirsiniz. Ayrıntılar için aşağıdaki banner boyutu bölümüne bakın.ads:adUnitId
- Bunu, reklamların gösterileceği uygulamadaki reklam birimine verilen benzersiz tanımlayıcıya ayarlayın. Farklı etkinliklerde banner reklamlar gösterirseniz her biri bir reklam birimi gerektirir.
Alternatif olarak AdView
programını programatik olarak oluşturabilirsiniz:
Java
AdView adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); // TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdView(this) adView.adSize = AdSize.BANNER adView.adUnitId = "ca-app-pub-3940256099942544/6300978111" // TODO: Add adView to your view hierarchy.
Her zaman test reklamlarıyla test edin
Uygulamalarınızı oluştururken ve test ederken yayında olan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Aksi takdirde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, Android banner'ları için özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/6300978111
Tüm istekler için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Bu özelliği kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce, kendi reklam birimi kimliğinizle değiştirmeniz yeterlidir.
Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi edinmek için Test Reklamları bölümüne bakın.
Reklam yükleme
AdView Bir adım tamamlandıktan sonra, sıradaki adım bir reklam yüklemektir. Bu işlem, AdView
sınıfındaki loadAd()
yöntemiyle gerçekleştirilir. Tek bir reklam isteğiyle ilgili çalışma zamanı bilgilerini (ör. hedefleme bilgileri) barındıran bir AdRequest
parametresi alır.
Bir reklamın onCreate()
yönteminde (Activity
) nasıl reklam yükleneceğini gösteren bir örneği aşağıda bulabilirsiniz:
Ana Etkinlik (alıntı)
Java
package ... import ... import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { private AdView mAdView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } }
Kotlin
package ... import ... import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdView class MainActivity : AppCompatActivity() { lateinit var mAdView : AdView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} mAdView = findViewById(R.id.adView) val adRequest = AdRequest.Builder().build() mAdView.loadAd(adRequest) } }
İşte bu kadar. Uygulamanız artık banner reklamlar göstermeye hazır.
Reklam etkinlikleri
Reklamın davranışını daha da özelleştirmek için reklamın yaşam döngüsündeki yükleme, açma, kapatma gibi çeşitli etkinliklere odaklanabilirsiniz. AdListener
sınıfını kullanarak bu etkinlikleri dinleyebilirsiniz.
AdView
ile AdListener
kullanmak için setAdListener()
yöntemini çağırın:
Java
mAdView.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
mAdView.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. } }
AdListener
'deki geçersiz kılınan yöntemlerin her biri, reklamın yaşam döngüsündeki bir etkinliğe karşılık gelir.
Geçersiz kılınabilir yöntemler | |
---|---|
onAdClicked()
|
Bir reklam için tıklama kaydedildiğinde onAdClicked() yöntemi çağrılır.
|
onAdClosed()
|
Kullanıcı, reklamın hedef URL'sini görüntüledikten sonra uygulamaya geri döndüğünde onAdClosed() yöntemi çağrılır.
Uygulamanız, uygulamayı askıya alınmış etkinlikleri devam ettirmek veya etkileşim için hazır hale getirmek üzere gereken diğer işlemleri yapmak amacıyla kullanabilir.
Android API Demo uygulamasında reklam dinleyici yöntemlerini kullanıma sunmak için AdMob
AdListener örneğini inceleyin.
|
onAdFailedToLoad()
|
Parametre içeren tek yöntem onAdFailedToLoad() yöntemidir. LoadAdError türündeki hata parametresi, hangi hatanın oluştuğunu açıklar. Daha fazla bilgi için Reklam Yükleme Hataları için Hata Ayıklama dokümanlarına bakın.
|
onAdImpression()
|
Reklam için gösterim kaydedildiğinde onAdImpression() yöntemi çağrılır.
|
onAdLoaded()
|
onAdLoaded() yöntemi, bir reklamın yüklenmesi bittiğinde yürütülür. Örneğin, bir reklamın yükleneceğinden emin olana kadar AdView 'i etkinliğinize veya parçanıza eklemeyi ertelemek isterseniz bunu burada yapabilirsiniz.
|
onAdOpened()
|
Bir reklam, ekranı kaplayan bir yer paylaşımı açtığında onAdOpened() yöntemi çağrılır.
|
Banner boyutları
Aşağıdaki tabloda standart banner boyutları listelenmiştir.
dp cinsinden boyut (GxY) | Açıklama | Kullanılabilirlik | AdSize sabiti |
---|---|---|---|
320x50 | 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 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ı planlanan Uyarlanabilir Banner'lar hakkında daha fazla bilgi edinin. |
Özel bir banner boyutu tanımlamak için istediğiniz AdSize
değerini aşağıda gösterildiği gibi ayarlayın:
Java
AdSize adSize = new AdSize(300, 50);
Kotlin
val adSize = AdSize(300, 50)
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 hızlandırma etkinleştirilmelidir.
Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar bunu devre dışı bırakmayı seçebilir. Bu sizin için geçerliyse reklamları kullanan Etkinlik 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ırma global olarak etkin haldeyken düzgün şekilde davranmazsa, söz konusu uygulamayı tek tek etkinlikler için de kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml
içindeki <application>
ve <activity>
öğelerinde android:hardwareAccelerated
özelliğini kullanabilirsiniz. Aşağıdaki örnek, uygulamanın tamamı için donanım hızlandırmayı etkinleştirir ancak bunu bir etkinlik için devre dışı bırakır:
<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>
Donanım hızlandırmayı kontrol etme seçenekleri hakkında daha fazla bilgi için HW hızlandırma hızlandırma kılavuzuna bakın. Etkinlik devre dışıysa, donanım hızlandırma için bağımsız reklam görünümlerinin etkinleştirilemeyeceğini, bu nedenle Etkinlik'in kendisi de donanım hızlandırmanın etkinleştirilmiş olması gerektiğini unutmayın.
Ek kaynaklar
GitHub ile ilgili örnekler
Banner RecyclerView örnek uygulaması: Java