Banner reklamlar, cihaz ekranının üst veya alt kısmında bir uygulamanın düzeninde yer alır. Bunlar, kullanıcılar uygulama ile etkileşimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilirler. Mobil reklam konusunda yeniyseniz başlangıç için mükemmel bir kaynaktır. Örnek olay.
Bu kılavuz,AdMob 'dan banner reklamları bir Android uygulamasına nasıl entegre edeceğinizi gösterir. 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
- Google Mobile Ads SDK'sını tek başına veya Firebase'in bir parçası olarak içe aktarın.
Düzene AdView ekleyin
Bir banner'ı göstermenin ilk adımı, yayınlamak istediğiniz Activity
veya Fragment
düzenine AdView
yerleştirmektir. Bunu yapmanın en kolay yolu, karşılık gelen XML düzeni dosyasına bir sürüm eklemektir. Bir etkinliği gösteren örnek aşağıda verilmiştir:AdView
# 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 gerekli özellikleri dikkate alın:
ads:adSize
- Bu boyutu, 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 uygulamanızda reklam birimine verilen benzersiz tanımlayıcıya ayarlayın. Farklı etkinliklerde banner reklamlar gösteriyorsanız her biri için bir reklam birimi gerekir.
Alternatif olarak, programatik olarak AdView
da 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.
Test reklamlarıyla her zaman test yapın
Uygulamalarınızı oluştururken ve test ederken yayında, üretim reklamları yerine test reklamları 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
Her istek için test reklamlarını döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test ve hata ayıklama sırasında bu özelliği kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce kendi reklam birimi kimliğinizle değiştirmeniz yeterlidir.
Mobile Ads SDK'sı test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test Reklamları konusuna bakın.
Reklam yükle
AdView tamamlandıktan sonra, sıradaki adım reklam yüklemektir. Bu, AdView
sınıfındaki loadAd()
yöntemiyle yapılır. Tek bir reklam isteği hakkında çalışma zamanı bilgilerini (hedefleme bilgileri gibi) içeren bir AdRequest
parametresi alır.
Aşağıda, onCreate()
Activity
yönteminde bir reklamın nasıl yükleneceğinin gösterildiği bir örnek verilmiştir:
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 oldu. Uygulamanız artık banner reklamlar göstermeye hazır.
Reklam etkinlikleri
Reklamınızın davranışını daha da özelleştirmek isterseniz reklamın yaşam döngüsündeki yükleme, açma, kapatma gibi çeşitli etkinliklerden yararlanabilirsiniz. Bu etkinlikleri AdListener
sınıfı aracılığıyla izleyebilirsiniz.
AdView
ile bir 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ınabilir 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()
|
onAdClosed() yöntemi, kullanıcı bir reklamın hedef URL'sini görüntüledikten sonra uygulamaya geri döndüğünde çağrılır.
Uygulamanız, askıya alınmış etkinlikleri devam ettirmek veya etkileşim için hazır hale getirmek üzere gereken diğer çalışmaları gerçekleştirmek için bu uygulamayı kullanabilir.
Android API Demo uygulamasında reklam işleyici yöntemlerinin uygulanması için AdMob
AdListener örneğine bakın.
|
onAdFailedToLoad()
|
onAdFailedToLoad() yöntemi, parametre içeren tek yöntemdir. LoadAdError türündeki hata parametresi, hangi hatanın oluştuğunu açıklar. Daha fazla bilgi için Reklam Yükleme Hatalarında Hata Ayıklama belgelerine bakın.
|
onAdImpression()
|
Bir reklam için gösterim kaydedildiğinde onAdImpression() yöntemi çağrılır.
|
onAdLoaded()
|
onAdLoaded() yöntemi, bir reklamın yüklenmesi tamamlandığında yürütülür. Örneğin, bir reklamın yükleneceğinden emin olmak için
AdView 'i etkinliğinize veya parçanıza eklemeyi geciktirebilirsiniz. Örneğin, bu işlemi gerçekleştirebilirsiniz.
|
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ı listelenmektedir.
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 Leaderboard | 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ı amaçlanan 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üntülemelerinizde 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 durum uygulamanız için geçerliyse reklam kullanan Etkinlik sınıflarında donanım hızlandırmayı etkinleştirmenizi öneririz.
Donanım hızlandırmayı etkinleştirme
Genel olarak uygulamanız donanım hızlandırmayı etkinleştirdiğinde düzgün davranmıyorsa ayrı etkinlikler için de kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml
'nızdaki <application>
ve <activity>
öğelerinin android:hardwareAccelerated
özelliğini kullanabilirsiniz. Aşağıdaki örnek, uygulamanın tamamı için donanım hızlandırmayı etkinleştirir ancak 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 edinmek için HW hızlandırma kılavuzuna bakın. Etkinlik devre dışı bırakılırsa, bağımsız reklam görüntülemelerinin donanım hızlandırma için etkinleştirilemeyeceğini, bu nedenle Etkinlik'in kendisi için donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.
Ek kaynaklar
GitHub'a örnekler
Banner RecyclerView örnek uygulaması: Java