Banner Reklamlar

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

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

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.

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 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