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
- Başlangıç kılavuzunu tamamlayın.
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 veyaAdLoader
üzerinden ilke kadarloadAds()
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.