Banner Reklamlar

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

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.

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