Doğal reklamlar

Doğal reklamlar, kullanıcılara sunulan kullanıcı arayüzü bileşenleri üzerinden platformda yerleşik olarak bulunuyor. Bu iki içerikte, aynı görünüm türleri kullanılarak düzenlerinizi oluşturmakta olduğunuz bir metindir ve düzeninize uyacak şekilde uygulamanın görsel tasarımı.

Yerel reklam yüklendiğinde uygulamanız reklam öğesini içeren bir reklam nesnesi alır. Google Mobile Ads SDK'sı yerine uygulama göstermekten sorumludur.

Genel olarak, doğal reklamları başarıyla uygulamanın iki bölümü vardır: SDK kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda gösterme.

Bu sayfada, Google Etiket Yöneticisi'ni kullanarak yerel reklamlar. İpucu: Yerel reklamlar hakkında daha fazla bilgi için Yerel Reklamları Başucu Kitabı'nı okuyun.

Ayrıca bazı müşteri başarı öykülerine de göz atabilirsiniz: örnek olay 1, örnek olay 2.

Ön koşullar

Her zaman test reklamlarıyla test etme

Uygulamalarınızı oluştururken ve test ederken, uygulamalarınızın yanı sıra üretim reklamlarıdır.

Test reklamlarını yüklemenin en kolay yolu, özel test reklam birimi kimliğimizi kullanmaktır en iyi uygulamaları görelim:

ca-app-pub-3940256099942544/2247696110

Her istek için test reklamı döndürecek şekilde özel olarak yapılandırılmıştır. kod yazma, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanabilirsiniz. Tek yapmanız gereken uygulamanızı yayınlamadan önce bunu kendi reklam birimi kimliğinizle değiştirin.

Google Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test reklamları.

Reklamları yükle

Yerel reklamlar AdLoader sınıf, kendine ait bir web sitesi olan Builder sınıfını kullanarak özelleştirebilirsiniz. AdLoader için dinleyiciler ekleyerek oluşturulan yerel reklam türlerinin hangileri olduğunu belirten uygulamalar alabiliyorsunuz. Daha sonra AdLoader, yalnızca bu türleri ister.

AdLoader oluşturma

Aşağıdaki kod, yerel olarak yükleyebilen bir AdLoader özelliğinin nasıl oluşturulacağını göstermektedir reklamlar:

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.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

İlgili içeriği oluşturmak için kullanılan forNativeAd() yöntemi, AdLoader öğesini NativeAd biçimine hazırlamaktan sorumludur. Reklam başarıyla yüklendiğinde, işleyici nesnesinin onNativeAdLoaded() yöntemi çağrılır.

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

AdLoader oluşturulurken withAdListener işlevi, Şu süre için AdListener: yükleyin. Yöntem, yalın parametresi olarak bir AdListener alır ve reklam yaşam döngüsü olayları gerçekleştiğinde AdLoader kaynaklı geri çağırmalar:

Java

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

Kotlin

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

Reklam isteğinde bulun

AdLoader oluşturmayı bitirdiğinizde, artık reklam isteğinde bulunmak için bunu kullanabilirsiniz. Bunun için kullanılabilecek 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 (en fazla beş) için istek gönderir:

Java

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

Kotlin

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

Her iki yöntem de bir AdRequest nesnesini ifade eder. Bu aynı Banner'lar ve geçiş reklamları tarafından AdRequest sınıf kullanılıyor, ve AdRequest sınıfının yöntemlerini kullanarak şunları yapabilirsiniz: Tıpkı olduğu gibi hedefleme bilgileri ekleyin diğer reklam biçimleriyle benzerdir.

Birden çok reklam yükleyin (isteğe bağlı)

loadAds() yöntemi ek bir parametre alır: SDK'nın reklam sayısı istek için yüklenmeye çalışmalıdır. Bu sayı en fazla beş olabilir ve SDK'nın istenen sayıda reklamı döndüreceği garanti edilmez.

Döndürülen Google reklamlarının tümü birbirinden farklı olacaktır. Ancak, ayrılmış envanterin veya üçüncü taraf alıcıların benzersiz olacağı garanti edilmez.

Uyumlulaştırma kullanıyorsanız loadAds() yöntemini kullanmayın birden fazla yerel reklam, uyumlulaştırma için yapılandırıldı.

Geri çağırma işlevleri

loadAd() çağrısından sonra, önceden tanımlanan numaraya tek bir geri arama yapılır işleyici yöntemlerini kullanarak yerel reklam nesnesini yayınlayın veya hata bildirin.

loadAds() çağrısından sonra, bu tür birden fazla geri çağırma yapılır (en az bir, ve istenen reklam sayısından fazla olmamalıdır). Birden çok reklam isteyen uygulamalar geri çağırma uygulamalarında AdLoader.isLoading() işlevini çağırarak ve yükleme sürecinin tamamlanıp tamamlanmadığını belirler.

Aşağıdaki örnek,isLoading() onNativeAdLoaded() geri arama:

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 doğal reklamlarda destroy() yöntemini kullandığınızdan emin olun. Bu sürümler bellek sızıntılarını önler.

Etkinliğinizdeki tüm NativeAd referanslarının kaldırıldığından emin olun onDestroy() yöntemini çağırın.

onNativeAdLoaded geri aramanızda mevcut tüm öğeleri kaldırdığınızdan emin olun referans olarak çıkarılacak doğal reklamlara izin verir.

Diğer bir önemli kontrolü de etkinliğin kaldırılıp kaldırılmadığını kontrol etmektir. Kaldırılmışsa şu tarihte destroy() çağrısı yapın: döndürüp hemen geri dönüyor:

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

En iyi uygulamalar

Reklamları yüklerken bu kurallara uyun.

  • Listedeki yerel reklamlar kullanan uygulamalar, reklam listesini önbelleğe almalıdır.

  • Reklamları önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.

  • loadAd() numaralı telefonu aramayın veya AdLoader üzerinden ilke kadar loadAds() isteğin yüklenmesini bitir.

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

Video reklamların doğal reklam görüntülemelerinizde başarılı bir şekilde gösterilmesi için donanım hızlanma etkinleştirilmelidir.

Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar devre dışı bırakabilirsiniz. Bu durum uygulamanız için geçerliyse donanımı etkinleştirmenizi öneririz. reklam kullanan etkinlik sınıfları için hızlandırma.

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

Donanım hızlandırma etkinken uygulamanız düzgün çalışmıyorsa bunu bağımsız etkinlikler için de kontrol edebilirsiniz. Etkinleştirmek veya donanım hızlandırmayı devre dışı bırakmak için android:hardwareAccelerated özelliğini kullanın - <application> ve <activity> öğeleri AndroidManifest.xml içinde bulabilirsiniz. Aşağıdaki örnekte, uygulamanın tamamı için hızlandırma ancak tek bir etkinlik için devre dışı bırakma:

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

HW hızlandırmasına bakın rehberi Donanım hızlandırmasını denetleme seçenekleri hakkında daha fazla bilgi edinin. Not tek reklam görünümlerinin donanım hızlandırma için etkinleştirilemeyeceğini unutmayın. Etkinlik devre dışı bırakıldığından etkinliğin kendisinde donanım hızlandırma olması gerekir etkin.

Reklamınızı gösterin

Bir reklamı yükledikten sonra geriye kalan tek şey onu kullanıcılarınıza göstermektir. Yerel Gelişmiş rehberimizi inceleyin.