Yerel reklam ve banner reklam isteklerini birleştirme

Kodunuzda yapacağınız birkaç değişiklikle reklam isteklerinizde yerel reklamları ve banner reklamları birleştirebilirsiniz.

Ön koşullar

  • Google Mobile Ads SDK'sının 11.0.0 veya daha sonraki bir sürümü

Reklam yükleme

Özel olarak oluşturulan yerel reklamlar, oluşturma sırasında özelleştirilebilen kendi AdLoader.Builder sınıfına sahip olan AdLoader sınıfı kullanılarak yüklenir. Bir uygulama, oluşturulurken AdLoader dinleyicileri ekleyerek hangi reklam biçimi türlerini almaya hazır olduğunu belirtir. AdLoader daha sonra yalnızca bu türleri ister.

AdLoader nesnesi, banner reklam veya yerel 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 yerel reklamlarla rekabet etmesi gerektiğini belirtir.

Aşağıdaki kod, tek bir istekte doğal reklam veya banner reklam yükleyebilen bir AdLoader oluşturmanın nasıl yapılacağını gösterir:

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 geçerli reklam boyutlarının değişken uzunluklu bir 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.

AdViewOptions nesnesini ayarlama

AdLoader oluşturulurken kullanılan son işlev, başka bir isteğe bağlı yöntem olan withAdManagerAdViewOptions()'dir:

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, bir gösterimin ne zaman kaydedilmesi gerektiğini kendileri belirleyebilir ve bunu AdManagerAdView.recordManualImpression() işlevini çağırarak yapabilir.