Doğal reklamlar, platforma özgü kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Bu reklamlar, düzenlerinizi oluştururken kullandığınız görünüm türleriyle gösterilir ve uygulamanızın görsel tasarımına uyacak şekilde biçimlendirilebilir.
Bir doğal reklam yüklendiğinde uygulamanız, öğelerini içeren bir reklam nesnesi alır. Bu öğelerin gösterilmesinden Google Mobile Ads SDK'sı yerine uygulama sorumludur.
Genel olarak, yerel reklamları başarılı bir şekilde uygulamak için iki bölüm vardır: SDK'yı kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda görüntüleme.
Bu sayfada, yerel reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test yapın
Uygulamalarınızı oluşturup test ederken canlı yayınlanan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun.
Test reklamlarını yüklemenin en kolay yolu, Android'deki doğal reklamlar için özel test reklam birimi kimliğimizi kullanmaktır:
/21775744923/example/native
Her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır ve kodlama, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.
Google Mobile Ads SDK test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test reklamları başlıklı makaleyi inceleyin.
Reklam yükleme
Yerel reklamlar, AdLoader
sınıfıyla yüklenir. Bu sınıfın, oluşturma sırasında özelleştirilebilmesi için kendi Builder
sınıfı vardır. Bir uygulama, oluşturulurken AdLoader
öğesine dinleyiciler ekleyerek hangi tür yerel reklamları almaya hazır olduğunu belirtir. AdLoader
daha sonra yalnızca bu türleri ister.
AdLoader oluşturma
Aşağıdaki kodda, doğal reklamları yükleyebilen bir AdLoader
öğesinin nasıl oluşturulacağı gösterilmektedir:
Java
Kotlin
AD_UNIT_ID yerine test cihazınızın kimliğini yazın.
forNativeAd()
yöntemi, NativeAd
biçimi için AdLoader
hazırlamaktan sorumludur.
Bir reklam başarıyla yüklendiğinde dinleyici nesnesinin onNativeAdLoaded()
yöntemi çağrılır.
AdLoader ile AdListener oluşturma (isteğe bağlı)
AdLoader
oluşturulurken withAdListener
işlevi, yükleyici için bir AdListener
ayarlar. Yöntem, tek parametre olarak bir AdListener
alır. Bu parametre, reklam yaşam döngüsü etkinlikleri gerçekleştiğinde AdLoader
öğesinden geri çağırmalar alır:
Java
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
new AdListener() {});
Kotlin
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
object : AdListener() {}
)
Reklam isteğinde bulun
AdLoader
oluşturma işlemini tamamladığınızda reklam istemek için kullanabilirsiniz.
Bu işlem için iki yöntem kullanılabilir: loadAd()
ve loadAds()
.
loadAd()
Bu yöntem, tek bir reklam için istek gönderir.
Java
adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
loadAds()
Bu yöntem, birden fazla reklam (en fazla beş) isteği gönderir:
Java
// Load three native ads.
adLoader.loadAds(new AdManagerAdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdManagerAdRequest.Builder().build(), 3)
Her iki yöntem de ilk parametre olarak bir AdManagerAdRequest
nesnesi alır. Bu, banner'lar ve geçiş reklamları tarafından kullanılan AdManagerAdRequest
sınıfıyla aynıdır. Diğer reklam biçimlerinde olduğu gibi, hedefleme bilgileri eklemek için AdManagerAdRequest
sınıfının yöntemlerini kullanabilirsiniz.
Birden çok reklam yükleme (isteğe bağlı)
loadAds()
yöntemi ek bir parametre alır: SDK'nın istek için yüklemeye çalışması gereken reklam sayısı. Bu sayı beşle sınırlıdır ve SDK'nın istenen reklam sayısını tam olarak döndüreceği garanti edilmez.
Döndürülen Google reklamlarının tümü birbirinden farklıdır. Ancak ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olması garanti edilmez.
Uyumlulaştırma kullanıyorsanız loadAds()
yöntemini kullanmayın. Birden fazla yerel reklam isteği, uyumlulaştırma için yapılandırılmış reklam birimi kimliklerinde çalışmaz.
Geri aramalar
loadAd()
çağrısından sonra, yerel reklam nesnesini yayınlamak veya bir hatayı bildirmek için önceden tanımlanmış dinleyici yöntemlerine tek bir geri çağırma yapılır.
Kaynakları serbest bırakma
Yüklenen doğal reklamlarda destroy()
yöntemini kullandığınızdan emin olun. Bu işlem, kullanılan kaynakları serbest bırakır ve bellek sızıntılarını önler.
Etkinliğinizin NativeAd
yönteminde tüm onDestroy()
referansların yok edildiğini doğrulayın.
onNativeAdLoaded
geri arama işlevinizde, referansı kaldırılacak mevcut yerel reklamları yok ettiğinizden emin olun.
Diğer bir önemli kontrol ise etkinliğin yok edilip edilmediğidir. Etkinlik yok edilmişse döndürülen reklamda destroy()
işlevini çağırın ve hemen geri dönün:
Java
nativeAd.destroy();
Kotlin
nativeAd.destroy()
En iyi uygulamalar
Reklam yüklerken aşağıdaki kurallara uyun.
Bir listede doğal reklamlar kullanan uygulamalar, reklam listesini önceden önbelleğe almalıdır.
Reklamları önceden önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.
- İlk istek yüklenmeyi tamamlayana kadar
AdLoader
üzerindeloadAd()
işlevini çağırmayın.
Yerel reklam önbelleğe almayı yalnızca gerekli olanlarla sınırlayın. Örneğin, önceden önbelleğe alma sırasında yalnızca ekranda hemen görünen reklamları önbelleğe alın. Yerel reklamlar büyük bir bellek alanı kaplar ve yerel reklamları yok etmeden önbelleğe almak aşırı bellek kullanımına neden olur.
Artık kullanılmadığında doğal reklamları yok edin.
Video reklamlar için donanım hızlandırma
Video reklamların yerel reklam görünümlerinizde başarıyla gösterilmesi için donanım hızlandırmanın etkinleştirilmesi gerekir.
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ı için donanım hızlandırmayı etkinleştirmenizi öneririz.
Donanım hızlandırmayı etkinleştirme
Uygulamanız, donanım hızlandırma özelliği genel olarak etkinleştirildiğinde düzgün çalışmıyorsa bu özelliği 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>
öğeleri için android:hardwareAccelerated
özelliğini kullanın. Aşağıdaki örnekte, uygulamanın tamamında donanım hızlandırma etkinleştirilirken bir etkinlikte devre dışı bırakılıyor:
<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 Donanım hızlandırma kılavuzuna bakın. Etkinlik devre dışıysa donanım hızlandırma için tek tek reklam görüntülemelerinin etkinleştirilemeyeceğini, bu nedenle Etkinliğin kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.
Reklamınızı görüntüleme
Bir reklamı yükledikten sonra yapmanız gereken tek şey, bu reklamı kullanıcılarınıza göstermektir. Nasıl yapılacağını öğrenmek için Native Advanced kılavuzumuza göz atın.