Kodunuzda birkaç değişiklik yaparak reklam isteklerinizde yerel ve banner reklamları birleştirebilirsiniz.
Ön koşullar
- Google Mobile Ads SDK'sının 11.0.0 veya daha yeni bir sürümü
- Başlangıç kılavuzunu tamamlayın.
Reklam yükleme
Özel olarak oluşturulan doğal reklamlar, oluşturma sırasında özelleştirme için kendi AdLoader.Builder sınıfına sahip olan AdLoader sınıfı kullanılarak yüklenir. Bir uygulama, oluşturulurken AdLoader öğesine dinleyiciler ekleyerek hangi tür reklam biçimlerini almaya hazır olduğunu belirtir. AdLoader daha sonra yalnızca bu türleri ister.
AdLoader nesnesi, banner reklam veya doğal reklamla sonuçlanabilecek reklam istekleri gönderecek şekilde de yapılandırılabilir. OnAdManagerAdViewLoadedListener oluştururken AdLoader eklemek, isteği karşılamak için banner reklamların doğal reklamlarla rekabet etmesi gerektiğini belirtir.
Aşağıdaki kodda, tek bir istekte yerel veya banner reklam yükleyebilen bir AdLoader öğesinin nasıl oluşturulacağı gösterilmektedir:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
forAdManagerAdView() yöntemi, AdLoader öğesini banner reklam almaya hazırlar.
forAdManagerAdView() çağrılırken OnAdManagerAdViewLoadedListener ile birlikte değişken uzunlukta geçerli reklam boyutlarının listesi belirtilmelidir.
Geçerli bir reklam isteğinde bulunmak için en az bir geçerli reklam boyutu belirtilmelidir. Bir banner reklam başarıyla yüklendiğinde belirtilen dinleyici nesnesinin onAdManagerAdViewLoaded() yöntemi çağrılır.
Cihaz ekranı boyutundan küçük veya ona eşit bir reklam boyutu ayarlayın.
Maksimum ekran boyutunu belirlemek için Resources.getDisplayMetrics yöntemini kullanın. AdSize nesne boyutları, yoğunluktan bağımsız pikselleri (dp) kullanır. Karşılaştırma yaparken ekran boyutunu pikselden dp'ye dönüştürün.
Boyut kısıtlamalarıyla ilgili ayrıntılar için Ad Manager'da doldurulmayan gösterimlerle ilgili sorunları giderme başlıklı makaleyi inceleyin.
AdViewOptions nesnesini ayarlama
AdLoader oluşturulurken kullanılan son işlev, isteğe bağlı başka bir yöntem olan withAdManagerAdViewOptions() yöntemidir:
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
AdManagerAdViewOptions nesnesi, yayıncıların AdLoader tarafından yüklenen banner'lar için belirli seçenekler ayarlamasına olanak tanır. Örneğin:
setManualImpressionsEnabled()- Google Ad Manager rezervasyonları için manuel gösterim raporlamasını etkinleştirir. Manuel gösterim kullanan uygulamalar, gösterimin ne zaman kaydedileceğine kendileri karar verebilir ve bunu
AdManagerAdView.recordManualImpression()işlevini çağırarak yapabilir.