Banner Reklamlar

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Banner reklamlar, uygulama düzeni içinde, cihaz ekranının üst veya alt tarafında bir yerde 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 reklamcılıkta yeniyseniz başlangıç için mükemmel bir yerdir. Başarılı örnek.

Bu kılavuzda,AdMob reklamlarını banner'ı bir Android uygulamasına nasıl entegre edeceğiniz açıklanmaktadır. Ayrıca, kod snippet'leri ve talimatların yanı sıra banner'ları doğru şekilde boyutlandırma hakkında bilgiler ve ek kaynaklara bağlantılar da içermektedir.

Ön koşullar

Düzene AdView ekleyin

Banner göstermenin ilk adımı, görüntülemek istediğiniz Activity veya Fragment düzenine AdView simgesini yerleştirmektir. Bunu yapmanın en kolay yolu, ilgili XML düzeni dosyasına bir kod eklemektir. Bir etkinliğin AdView örneğini gösteren bir örneği burada bulabilirsiniz:

# 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 göz önünde bulundurun:

  • ads:adSize - Bu alanı, 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 boyut bölümüne bakın.
  • ads:adUnitId - Bu değeri, uygulamanızda reklamların gösterileceği reklam birimine verilen benzersiz tanımlayıcı olarak ayarlayın. Banner etkinliklerini farklı etkinliklerde gösterirseniz her biri için bir reklam birimi gerekir.

Alternatif olarak, AdView aracı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 yapın

Uygulamalarınızı oluştururken ve test ederken yayında, üretim amaçlı 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ı 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ının test reklamlarının işleyiş şekli hakkında daha fazla bilgi edinmek için Test Reklamları bölümünü inceleyin.

Reklam yükle

AdView yerleştirildikten sonraki adım bir reklam yüklemektir. Bu işlem, AdView sınıfındaki loadAd() yöntemi ile gerçekleştirilir. Tek bir reklam isteğiyle ilgili çalışma zamanı bilgilerini (hedefleme bilgileri gibi) içeren bir AdRequest parametresi alır.

Activity kullanılan onCreate() yönteminde nasıl reklam yükleneceğini gösteren bir örneği aşağıda bulabilirsiniz:

AnaEtkinlik (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 reklam 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. Bu etkinlikleri AdListener sınıfı aracılığıyla 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ınabilen yöntemlerin her biri, reklamın yaşam döngüsündeki bir etkinliğe karşılık gelir.

Geçersiz kılınan 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 döndüğünde onAdClosed() yöntemi çağrılır. Uygulamanız, uygulamayı askıya alınmış etkinlikleri devam ettirmek veya kendisini etkileşime hazır hale getirmek için gereken diğer çalışmaları gerçekleştirmek amacıyla kullanabilir. Android API Demo uygulamasında reklam işleyici yöntemlerinin uygulanması için AdMob AdListener örneğini inceleyin.
onAdFailedToLoad() Parametre içeren tek yöntem onAdFailedToLoad() yöntemidir. LoadAdError türündeki hata parametresi, oluşan hatayı açıklar. Daha fazla bilgi için Reklam Yükleme Hatalarını Giderme hatalarını inceleyin.
onAdImpression() onAdImpression() yöntemi, bir reklam için gösterim kaydedildiğinde ç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üklendiğinden emin olana kadar AdView'i etkinliğinize veya parçanıza eklemeyi ertelemek isterseniz bu işlemi burada yapabilirsiniz.
onAdOpened() Reklam ekranı kaplayan bir yer paylaşımı açtığında onAdOpened() yöntemi çağrılır.

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 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ümlerinizde 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 devre dışı bırakmayı tercih edebilir. Uygulamanız bu kapsama giriyorsa reklam kullanan Etkinlik sınıflarında donanım hızlandırma özelliğini etkinleştirmenizi öneririz.

Donanım hızlandırmayı etkinleştirme

Uygulamanız tüm dünyada donanım hızlandırmalı şekilde düzgün davranmazsa, tek tek etkinlikler için de uygulamayı kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml içindeki <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 için HW hızlandırma hızlandırma kılavuzuna bakın. Etkinlik devre dışıysa donanım hızlandırma için tek reklam görünümlerinin etkinleştirilemeyeceğini, bu nedenle Etkinlik'in kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.

Ek kaynaklar

GitHub ile ilgili örnekler

  • Banner reklam örneği: Java | Kotlin

  • Gelişmiş özellikler demosu: Java | Kotlin

  • Banner RecyclerView örnek uygulaması: Java

Mobil Reklamlar Garajı eğitim videoları

Başarı öyküleri