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.
Doğal reklam yüklendiğinde uygulamanız, öğelerini içeren bir reklam nesnesi alır ve bu öğeleri göstermekten Google Mobile Ads SDK (Legacy) değil, uygulama sorumlu olur.
Genel olarak, doğal reklamları başarılı bir şekilde uygulamak için iki aşama vardır: SDK kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda gösterme.
Bu sayfada, doğal reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir. İpucu: Doğal reklamlar hakkında daha fazla bilgi edinmek için Doğal Reklamlar Başucu Kitabı'na göz atın.
Müşteri başarı öykülerinden bazılarına da göz atabilirsiniz: başarılı örnek 1, başarılı örnek 2.
Ön koşullar
Devam etmeden önce Google Mobile Ads SDK (Legacy) uygulamasını kurun.
Her zaman test reklamlarıyla test edin
Uygulamalarınızı oluştururken ve test ederken yayındaki, üretim aşamasındaki 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:
ca-app-pub-3940256099942544/2247696110
Bu kimlik, 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 kimliği kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirmeyi unutmayın.
Google Mobile Ads SDK (Legacy) test reklamları hakkında ayrıntılı bilgi için Test reklamlarını etkinleştirme başlıklı makaleyi inceleyin.
Reklam yükleme
Doğal reklamlar, oluşturma sırasında özelleştirmek için kendi Builder sınıfına sahip olan AdLoader sınıfıyla yüklenir. Uygulama, oluşturulurken AdLoader nesnesine dinleyiciler ekleyerek hangi tür doğal 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 cihaz kimliğini yazın.
forNativeAd() yöntemi, AdLoader öğesini NativeAd biçimine hazırlamaktan sorumludur.
Bir reklam başarıyla yüklendiğinde dinleyici nesnesinin onNativeAdLoaded() yöntemi çağrılır.
AdLoader ile bir AdListener ayarlama (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ü olayları 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ıktan sonra reklam isteğinde bulunmak için bu öğeyi kullanabilirsiniz.
Bunun 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 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
// Load three native ads.
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdRequest.Builder().build(), 3)
Her iki yöntem de ilk parametre 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.
Birden fazla 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ş ile 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ı olacaktır ancak ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olacağı 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 çağırmalar
loadAd() çağrıldıktan sonra, yerel reklam nesnesini yayınlamak veya bir hata bildirmek için önceden tanımlanmış dinleyici yöntemlerine tek bir geri çağırma yapılır.
loadAds() çağrıldıktan sonra bu tür birden fazla geri çağırma yapılır (en az bir ve istenen reklam isteği sayısından fazla olmamak üzere). Birden fazla reklam isteyen uygulamalar, yükleme işleminin tamamlanıp tamamlanmadığını belirlemek için geri çağırma uygulamalarında AdLoader.isLoading() yöntemini çağırmalıdır.
onNativeAdLoaded() geri çağırma işlevinde isLoading() değerinin nasıl kontrol edileceğini gösteren bir örneği aşağıda bulabilirsiniz:
Java
adLoaderBuilder
.forNativeAd(
nativeAd -> {
// This callback is invoked when a native ad is successfully loaded.
})
.build();
Kotlin
adLoaderBuilder
.forNativeAd { nativeAd ->
// This callback is invoked when a native ad is successfully loaded.
}
.build()
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 onDestroy() yönteminde tüm NativeAd referanslarının yok edildiğini doğrulayın.
onNativeAdLoaded geri çağırma işlevinizde, referansı kaldırılacak mevcut doğal reklamları yok ettiğinizden emin olun.
Başka bir önemli kontrol de etkinliğin yok edilip edilmediğidir. Yok edildiyse döndürülen reklamda destroy() yöntemini ç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 reklam kullanan uygulamalar, reklam listesini önceden önbelleğe almalıdır.
Reklamları önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.
- İlk istek yüklenene kadar
AdLoaderüzerindeloadAd()veyaloadAds()yöntemini çağırmayın.
Doğal reklam önbelleğe almayı yalnızca gerekli olanla sınırlayın. Örneğin, önbelleğe alma işlemi sırasında yalnızca ekranda hemen görünen reklamları önbelleğe alın. Doğal reklamlar bellekte çok yer kaplar ve doğal reklamların yok edilmeden önbelleğe alınması aşırı bellek kullanımına neden olur.
Artık kullanılmayan doğal reklamları imha edin.
Video reklamlar için donanım hızlandırma
Video reklamların doğal reklam görünümlerinizde başarıyla gösterilmesi için donanım hızlandırma etkinleştirilmelidir.
Donanım hızlandırma varsayılan olarak etkindir ancak bazı uygulamalar bu özelliği devre dışı bırakmayı seçebilir. Uygulamanız bu kapsamda yer alıyorsa reklam kullanan Activity 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 etkinleştirildiğinde düzgün çalışmıyorsa bu özelliği her etkinlik için ayrı ayrı kontrol edebilirsiniz. Donanım hızlandırmayı etkinleştirmek veya devre dışı bırakmak için AndroidManifest.xml dosyanızdaki <application> ve <activity> öğelerinde android:hardwareAccelerated özelliğini kullanın. Aşağıdaki örnekte, donanım hızlandırma tüm uygulama için etkinleştirilir ancak bir etkinlik için devre dışı bırakılı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 Donanım hızlandırma kılavuzuna bakın. Etkinlik devre dışı bırakılırsa tek reklam görünümlerinin donanım hızlandırma için etkinleştirilemeyeceğini, bu nedenle etkinliğin kendisinde donanım hızlandırmanın etkinleştirilmesi gerektiğini unutmayın.
Reklamınızı gösterme
Reklamı yükledikten sonra yapmanız gereken tek şey reklamı kullanıcılarınıza göstermektir. Daha fazla bilgi için Doğal gelişmiş veya Tam ekran doğal reklamlar bölümüne bakın.