Yerel Reklamlar

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
tutucu2 l10n-yer tutucu3 l10n-yer tutucu4 l10n-yer tutucu5 l10n-yer

Yerel reklamlar, platformun yerel kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Düzenler, halihazırda düzenlerinizi oluştururken kullandığınız görünüm türleri kullanılarak gösterilir ve bulundukları kullanıcı deneyiminin görsel tasarımına uyacak şekilde biçimlendirilebilir. Kodlama açısından bu, yerel reklam yüklendiğinde uygulamanızın öğelerini içeren bir NativeAd nesnesi alacağı ve bu öğelerin gösterilmesinden uygulamanın (Google Mobile Ads SDK'sı yerine) sorumlu olduğu anlamına gelir.

Genel olarak belirtmek gerekirse yerel reklamları başarıyla uygulamanın iki aşaması vardır: SDK'yı kullanarak bir reklam yükleyip uygulamanızda reklam içeriğini göstermek.

Bu sayfa,yerel reklamları yüklemek için SDK'yı kullanma konusunu ilgilendirmektedir.

Ön koşullar

Uygulama

Yerel reklamlar, oluşturma sırasında özelleştirmek için kendi Builder sınıfının bulunduğu AdLoader sınıfıyla yüklenir. Bir uygulama oluşturulurken AdLoader öğesine dinleyici ekleyerek uygulama, ne tür yerel reklamları almaya hazır olduğunu belirtir. Ardından AdLoader yalnızca bu türleri ister.

AdLoader Derleme

Aşağıdaki kod, yerel reklamlar yükleyebilen bir AdLoader'nin nasıl oluşturulacağını gösterir:

Java

AdLoader adLoader = new AdLoader.Builder(context, "")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
        @Override
        public void onNativeAdLoaded(NativeAd nativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(LoadAdError adError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "")
    .forNativeAd { ad : NativeAd ->
        // Show the ad.
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

YerelReklam biçimine hazırlanma

Yukarıdaki ilk yöntem, AdLoader öğesini NativeAd biçimine hazırlamaktan sorumludur:

forNativeAd()
Bu yöntem çağırıldığında AdLoader, yerel reklamları isteyecek şekilde yapılandırılır. Bir reklam başarıyla yüklendiğinde, dinleyici nesnesinin onNativeAdLoaded() yöntemi çağrılır.

AdLoader bir reklam isteğinde bulunduğunda Google, yayıncı getirisini en üst düzeye çıkaran reklamı seçip döndürür.

AdLoader ile AdListener oluşturma (isteğe bağlı)

Yukarıdaki AdLoader oluşturulurken withAdListener işlevi bir AdListener ayarlar. Yöntem, yalnız parametre olarak bir AdListener alır. Bu parametre, reklam yaşam döngüsü olayları gerçekleştiğinde AdLoader öğesinden geri çağırmaları alır:

Java

.withAdListener(new AdListener() {
    // AdListener callbacks can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks can be overridden here.
})

Reklamları yükle

AdLoader oluşturmayı tamamladıktan sonra, reklam yüklemek için bu uygulamayı kullanabilirsiniz. Bunun için iki yöntem vardır: loadAd() ve loadAds().

loadAd()
Bu yöntem, tek bir reklam için istek gönderir. :

Java

adLoader.loadAd(new .Builder().build());

Kotlin

adLoader.loadAd(.Builder().build())
loadAds()
Bu yöntem, birden fazla reklam için istek gönderir (beş adede kadar): :

Java

adLoader.loadAds(new .Builder().build(), 3);

Kotlin

adLoader.loadAds(.Builder().build(), 3)

Bu yöntemlerin her ikisi de ilk parametresi olarak bir nesnesi alır. Bu, banner'lar ve geçiş reklamları tarafından kullanılan sınıfıyla aynıdır. Diğer reklam biçimlerinde olduğu gibi hedefleme bilgileri eklemek için sınıfının yöntemlerini kullanabilirsiniz.

loadAds(), ek bir parametre alır: SDK'nın istek için yüklemeyi denemesi gereken reklamların sayısı. Bu sayı beşle sınırlıdır ve SDK'nın istenen reklam sayısını kesin olarak döndüreceği garanti edilmez.

Döndürülen Google reklamlarının tümü birbirinden farklıdır. Şelale uyumlulaştırma veya teklifli sistem için yapılandırılmış alıcılar da dahil olmak üzere, ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olması garanti edilmez.

Geri çağırmalar

loadAd() çağrısından sonra, yerel reklam nesnesini yayınlamak veya bir hatayı bildirmek için önceden tanımlanan listeleyici yöntemlerine tek bir geri çağırma yapılır.

loadAds() çağrısından sonra bu tür birden fazla geri arama yapılır (en az bir ve istenen reklam sayısından fazla değil). Birden fazla reklam isteyen uygulamalar, yükleme işleminin bitip bitmediğini belirlemek için geri çağırma uygulamalarında AdLoader.isLoading()'yi çağırmalıdır.

onNativeAdLoaded() geri çağırmada isLoading() öğesinin nasıl kontrol edileceğini gösteren bir örneği burada bulabilirsiniz:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading()) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }
}).build();
adLoader.loadAds(new .Builder().build(), 3);

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "")
    .forNativeAd {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }.build()
adLoader.loadAds(.Builder().build(), 3)

Kaynakları serbest bırakın

Yüklenen yerel reklamlarda destroy() yöntemini kullandığınızdan emin olun. Böylece, kullanılan kaynaklar serbest bırakılır ve bellek sızıntıları önlenir.

Etkinliğinizin onDestroy() yönteminde tüm NativeAd referanslarının yok edildiğinden emin olun.

onNativeAdLoaded geri çağırmanızda, kullanımdan kaldırılacak mevcut yerel reklamları kaldırdığınızdan emin olun.

Diğer bir önemli kontrol de etkinliğin kaldırılmasıdır. Böyle bir durumda, döndürülen reklamda destroy() özelliğini çağırıp hemen geri dönün:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed()` is a method on Activity.
        if (isDestroyed()) {
            nativeAd.destroy();
            return;
        }
        ...
    }
}).build();

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "")
    .forNativeAd { nativeAd ->
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed` is a method on Activity.
        if (isDestroyed) {
            nativeAd.destroy()
            return@forNativeAd
        }
        ...
    }.build()

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'de Yerel Gelişmiş için özel test reklam birimi kimliğimizi kullanmaktır:

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.

Reklamlar ne zaman istenir?

Yerel reklam gösteren uygulamalar, gerçekten görüntülenmelerinden önce istekte bulunabilirler. Çoğu durumda bu önerilen bir uygulamadır. Örneğin, yerel reklamların bir arada bulunduğu öğelerin listesini görüntüleyen bir uygulama, tüm liste için yerel reklamlar yükleyebilir ve bazıları yalnızca kullanıcı görünümü kaydırdıktan sonra gösterileceğini, dolayısıyla hiç gösterilemeyeceğini bilir.

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

Video reklamların yerel 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.

Yerel Reklam Göster

Bir reklam yükledikten sonra, tek yapmanız gereken bunu kullanıcılarınıza göstermektir. Nasıl olduğunu öğrenmek için Yerel Gelişmiş kılavuzumuzu ziyaret edin.

,tutucu3 l10n-tutucu4 l10nyer

Yerel reklamlar, platformun yerel kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Düzenler, halihazırda düzenlerinizi oluştururken kullandığınız görünüm türleri kullanılarak gösterilir ve bulundukları kullanıcı deneyiminin görsel tasarımına uyacak şekilde biçimlendirilebilir. Kodlama açısından bu, yerel reklam yüklendiğinde uygulamanızın öğelerini içeren bir NativeAd nesnesi alacağı ve bu öğelerin gösterilmesinden uygulamanın (Google Mobile Ads SDK'sı yerine) sorumlu olduğu anlamına gelir.

Genel olarak belirtmek gerekirse yerel reklamları başarıyla uygulamanın iki aşaması vardır: SDK'yı kullanarak bir reklam yükleyip uygulamanızda reklam içeriğini göstermek.

Bu sayfa,yerel reklamları yüklemek için SDK'yı kullanma konusunu ilgilendirmektedir.

Ön koşullar

Uygulama

Yerel reklamlar, oluşturma sırasında özelleştirmek için kendi Builder sınıfının bulunduğu AdLoader sınıfıyla yüklenir. Bir uygulama oluşturulurken AdLoader öğesine dinleyici ekleyerek uygulama, ne tür yerel reklamları almaya hazır olduğunu belirtir. Ardından AdLoader yalnızca bu türleri ister.

AdLoader Derleme

Aşağıdaki kod, yerel reklamlar yükleyebilen bir AdLoader'nin nasıl oluşturulacağını gösterir:

Java

AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
        @Override
        public void onNativeAdLoaded(NativeAd nativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(LoadAdError adError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
    .forNativeAd { ad : NativeAd ->
        // Show the ad.
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

YerelReklam biçimine hazırlanma

Yukarıdaki ilk yöntem, AdLoader öğesini NativeAd biçimine hazırlamaktan sorumludur:

forNativeAd()
Bu yöntem çağırıldığında AdLoader, yerel reklamları isteyecek şekilde yapılandırılır. Bir reklam başarıyla yüklendiğinde, dinleyici nesnesinin onNativeAdLoaded() yöntemi çağrılır.

AdLoader bir reklam isteğinde bulunduğunda Google, yayıncı getirisini en üst düzeye çıkaran reklamı seçip döndürür.

AdLoader ile AdListener oluşturma (isteğe bağlı)

Yukarıdaki AdLoader oluşturulurken withAdListener işlevi bir AdListener ayarlar. Yöntem, yalnız parametre olarak bir AdListener alır. Bu parametre, reklam yaşam döngüsü olayları gerçekleştiğinde AdLoader öğesinden geri çağırmaları alır:

Java

.withAdListener(new AdListener() {
    // AdListener callbacks can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks can be overridden here.
})

Reklamları yükle

AdLoader oluşturmayı tamamladıktan sonra, reklam yüklemek için bu uygulamayı kullanabilirsiniz. Bunun için iki yöntem vardır: loadAd() ve loadAds().

loadAd()
Bu yöntem, tek bir reklam için istek gönderir. :

Java

adLoader.loadAd(new AdRequest.Builder().build());

Kotlin

adLoader.loadAd(AdRequest.Builder().build())
loadAds()
Bu yöntem, birden fazla reklam için istek gönderir (beş adede kadar): :

Java

adLoader.loadAds(new AdRequest.Builder().build(), 3);

Kotlin

adLoader.loadAds(AdRequest.Builder().build(), 3)

Bu yöntemlerin her ikisi de ilk parametresi olarak bir AdRequest nesnesi alır. Bu, banner'lar ve geçiş reklamları tarafından kullanılan AdRequest sınıfıyla aynıdır. Diğer reklam biçimlerinde olduğu gibi hedefleme bilgileri eklemek için AdRequest sınıfının yöntemlerini kullanabilirsiniz.

loadAds(), ek bir parametre alır: SDK'nın istek için yüklemeyi denemesi gereken reklamların sayısı. Bu sayı beşle sınırlıdır ve SDK'nın istenen reklam sayısını kesin olarak döndüreceği garanti edilmez.

Döndürülen Google reklamlarının tümü birbirinden farklıdır. Şelale uyumlulaştırma veya teklifli sistem için yapılandırılmış alıcılar da dahil olmak üzere, ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olması garanti edilmez.

Geri çağırmalar

loadAd() çağrısından sonra, yerel reklam nesnesini yayınlamak veya bir hatayı bildirmek için önceden tanımlanan listeleyici yöntemlerine tek bir geri çağırma yapılır.

loadAds() çağrısından sonra bu tür birden fazla geri arama yapılır (en az bir ve istenen reklam sayısından fazla değil). Birden fazla reklam isteyen uygulamalar, yükleme işleminin bitip bitmediğini belirlemek için geri çağırma uygulamalarında AdLoader.isLoading()'yi çağırmalıdır.

onNativeAdLoaded() geri çağırmada isLoading() öğesinin nasıl kontrol edileceğini gösteren bir örneği burada bulabilirsiniz:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading()) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }
}).build();
adLoader.loadAds(new AdRequest.Builder().build(), 3);

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
    .forNativeAd {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }.build()
adLoader.loadAds(AdRequest.Builder().build(), 3)

Kaynakları serbest bırakın

Yüklenen yerel reklamlarda destroy() yöntemini kullandığınızdan emin olun. Böylece, kullanılan kaynaklar serbest bırakılır ve bellek sızıntıları önlenir.

Etkinliğinizin onDestroy() yönteminde tüm NativeAd referanslarının yok edildiğinden emin olun.

onNativeAdLoaded geri çağırmanızda, kullanımdan kaldırılacak mevcut yerel reklamları kaldırdığınızdan emin olun.

Diğer bir önemli kontrol de etkinliğin kaldırılmasıdır. Böyle bir durumda, döndürülen reklamda destroy() özelliğini çağırıp hemen geri dönün:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed()` is a method on Activity.
        if (isDestroyed()) {
            nativeAd.destroy();
            return;
        }
        ...
    }
}).build();

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
    .forNativeAd { nativeAd ->
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed` is a method on Activity.
        if (isDestroyed) {
            nativeAd.destroy()
            return@forNativeAd
        }
        ...
    }.build()

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'de Yerel Gelişmiş için özel test reklam birimi kimliğimizi kullanmaktır:

ca-app-pub-3940256099942544/2247696110

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.

Reklamlar ne zaman istenir?

Yerel reklam gösteren uygulamalar, gerçekten görüntülenmelerinden önce istekte bulunabilirler. Çoğu durumda bu önerilen bir uygulamadır. Örneğin, yerel reklamların bir arada bulunduğu öğelerin listesini görüntüleyen bir uygulama, tüm liste için yerel reklamlar yükleyebilir ve bazıları yalnızca kullanıcı görünümü kaydırdıktan sonra gösterileceğini, dolayısıyla hiç gösterilemeyeceğini bilir.

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

Video reklamların yerel 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.

Yerel Reklam Göster

Bir reklam yükledikten sonra, tek yapmanız gereken bunu kullanıcılarınıza göstermektir. Nasıl olduğunu öğrenmek için Yerel Gelişmiş kılavuzumuzu ziyaret edin.