Banner Reklamlar

Banner reklamlar, bir uygulamanın düzeninde, cihaz ekranının üstünde veya altında bir yer kaplar. Kullanıcılar uygulamayla etkileşime girerken ekranda kalırlar ve belirli bir süre sonra otomatik olarak yenilenebilirler. Mobil reklamcılıkta yeniyseniz, başlamak için harika bir yerdir.Örnek olay .

Banner reklamları nasıl entegre Bu kılavuz şovlarınınAdMob bir Android uygulaması içine. Kod parçacıklarına ve talimatlara ek olarak, afişlerin doğru şekilde boyutlandırılması hakkında bilgiler ve ek kaynaklara bağlantılar da içerir.

Önkoşullar

Ekle AdView düzeni

Bir afiş görüntüleme için ilk adım yerleştirmektir AdView için düzeninde Activity veya Fragment bunu görüntülemek istediğiniz hangi. Bunu yapmanın en kolay yolu, ilgili XML düzen dosyasına bir tane eklemektir. İşte bir örnek gösterir bir faaliyetin o 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 özelliklere dikkat edin:

  • ads:adSize - Eğer kullanım istediğiniz reklam boyutuna ayarlayın. Sabit tarafından tanımlanan standart boyutu kullanmak istemiyorsanız, bunun yerine özel bir boyut ayarlayabilirsiniz. Bkz afiş boyutu bölümü ayrıntılar için aşağıya.
  • ads:adUnitId - verilen benzersiz tanımlayıcı bu ayarla reklam biriminin adet nerede uygulamanızda görüntülenecek. Banner reklamları farklı etkinliklerde gösterirseniz, her biri bir reklam birimi gerektirir.

Sen alternatif oluşturabilir AdView programlı:

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, canlı, üretim reklamları yerine test reklamları kullandığınızdan emin olun. Bunu yapmamak, hesabınızın askıya alınmasına neden olabilir.

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ürmek üzere özel olarak yapılandırılmıştır ve kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanmakta özgürsünüz. Uygulamanızı yayınlamadan önce bunu kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.

Mobil Reklamlar SDK'nın test reklamları nasıl çalıştığı hakkında daha fazla bilgi için bkz Testi Reklamlar .

Bir reklam yükle

Bir kez AdView yerinde olduğundan, bir sonraki adım bir reklam yüklemektir. Yani birlikte yapılır loadAd() içinde yöntemiyle AdView sınıfında. Bir sürer AdRequest tek bir reklam istek hakkında (örneğin hedefleme bilgi gibi) çalışma zamanı bilgisini tutan parametresini.

İşte bir örnek gösterir nasıl bir reklam yüklemek için işte onCreate() bir yöntemi Activity :

MainActivity (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)
    }
}

Bu kadar! Uygulamanız artık banner reklamları görüntülemeye hazır.

Reklam etkinlikleri

Reklamınızın davranışını daha da özelleştirmek için, reklamın yaşam döngüsündeki bir dizi olaya bağlanabilirsiniz: yükleme, açma, kapatma vb. Sen aracılığıyla bu olayları dinleyebilir AdListener sınıfına.

Bir kullanmak için AdListener ile AdView çağrı setAdListener() metodu:

Java

mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
        // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

    @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.
    }
});

Kotlin

mAdView.adListener = object: AdListener() {
    override fun onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
        // Code to be executed when an ad request fails.
    }

    override fun onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

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

İçinde iptal edilebilir yöntemlerin her biri, AdListener bir reklamın yaşam döngüsünde bir etkinliğe karşılık gelir.

geçersiz kılınabilir yöntemler
onAdLoaded() onAdLoaded() yöntemi, bir reklam yüklenmeden çalıştırılır. Eklemekte geciktirmek istiyorsanız AdView Emin bir reklam yüklenecektir oluncaya kadar örneğin, etkinlik veya parçasına, bunu buradan yapabilirsiniz.
onAdFailedToLoad() onAdFailedToLoad() yöntemi, bir parametre içeren sadece bir tanesidir. Tip hata parametresi LoadAdError hatası oluştu açıklar. Daha fazla bilgi için, bkz hata ayıklama Reklam Yük Hataları belgeler .
onAdOpened() Bu yöntem, kullanıcı bir reklama dokunduğunda çağrılır.
onAdClosed() Bir kullanıcı, bir reklamın hedef URL'sini görüntüledikten sonra uygulamaya döndüğünde, bu yöntem çağrılır. Uygulamanız, askıya alınan etkinlikleri sürdürmek veya kendisini etkileşime hazır hale getirmek için gerekli diğer işleri yapmak için bunu kullanabilir.bakınız AdMob AdListener örneğin Android API Demo uygulamasında reklam dinleyici yöntemlerine uygulanması için.

Aşağıdaki tablo standart afiş boyutlarını listeler.

dp cinsinden boyut (GxY) Açıklama kullanılabilirlik AdSize sabiti
320x50 afiş Telefonlar ve Tabletler BANNER
320x100 büyük afiş Telefonlar ve Tabletler LARGE_BANNER
300x250 IAB Orta Boy Dikdörtgen Telefonlar ve Tabletler MEDIUM_RECTANGLE
468x60 IAB Tam Boyutlu Banner tabletler FULL_BANNER
728x90 IAB Lider Tablosu tabletler LEADERBOARD
Sunulmuştur genişlik x yükseklik Uyarlanabilir Uyarlanabilir afiş Telefonlar ve Tabletler Yok
Ekran genişlik x 32 | 50 | 90 Akıllı afiş Telefonlar ve Tabletler SMART_BANNER
Hakkında daha fazla bilgi Adaptif Banner'larda , yerini alması düşünülen Akıllı Banner .

Özel bir banner boyutunu tanımlamak için, senin arzu set AdSize burada gösterildiği gibi,:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Video reklamlar için donanım hızlandırma

Video reklamları afiş reklam görünümlerinde başarıyla göstermek için, donanım hızlandırma etkin olmalıdır.

Donanım hızlandırma varsayılan olarak etkindir, ancak bazı uygulamalar bunu devre dışı bırakmayı seçebilir. Bu, uygulamanız için geçerliyse, reklam 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 genel olarak açıkken düzgün çalışmıyorsa, bireysel etkinlikler için de kontrol edebilirsiniz. Etkinleştirmek veya devre dışı donanım hızlandırma için kullanabilirsiniz android:hardwareAccelerated için öznitelik <application> ve <activity> sizin öğeleri AndroidManifest.xml . Aşağıdaki örnek, tüm uygulama 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>

Bkz HW ivme kılavuzu donanım ivmesini kontrol etmek için seçenekleri hakkında daha fazla bilgi için bkz. Etkinlik devre dışı bırakılırsa, donanım hızlandırma için bağımsız reklam görüntülemelerinin etkinleştirilemeyeceğini, dolayısıyla Etkinliğin kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.

Ek kaynaklar

GitHub'daki Örnekler

  • Banner reklamlar örnek: Java | Kotlin

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

  • Banner RecyclerView örnek uygulaması: Java

Mobil Reklamlar Garajı video eğitimleri

Başarı Öyküleri