Yerel reklam seçenekleri

Platform seçin: Android iOS

Doğal reklamlar, ek özelleştirmeler yapmanıza ve mümkün olan en iyi reklam deneyimini sunmanıza olanak tanıyan birçok gelişmiş özelliğe sahiptir. Bu kılavuzda, doğal reklamların gelişmiş özelliklerinin nasıl kullanılacağı açıklanmaktadır.

Ön koşullar

Öğe kontrolleri

Yerel reklam öğesi kontrollerini yapılandırın.

Tercih edilen medya en boy oranı kontrolleri

Medya en boy oranı kontrolleri, reklam öğelerinin en boy oranı için bir tercih belirtmenize olanak tanır.

NativeAdOptions.Builder.setMediaAspectRatio() ile NativeAdOptions.MediaAspectRatio değeriyle arama yapın.

  • Ayarlanmadığında, döndürülen reklamın herhangi bir medya en-boy oranı olabilir.

  • Bu ayar yapıldığında, tercih edilen en-boy oranını belirterek kullanıcı deneyimini iyileştirebilirsiniz.

Aşağıdaki örnekte, SDK'nın belirli bir en-boy oranına sahip bir resim veya video döndürmeyi tercih etmesi talimatı verilmektedir.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AD_UNIT_ID yerine reklam birimi kimliğinizi yazın.

Resim indirme kontrolü

Resim indirme kontrolü, SDK tarafından resim öğelerinin mi yoksa yalnızca URI'lerin mi döndürüleceğine karar vermenizi sağlar.

boolean değeriyle NativeAdOptions.Builder.setReturnUrlsForImageAssets() işlevini çağırın.

  • Resim indirme denetimi varsayılan olarak devre dışıdır.

  • Devre dışı bırakıldığında Google Mobile Ads SDK'sı hem resmi hem de URI'yi sizin için doldurur.

  • Etkinleştirildiğinde SDK yalnızca URI'yi doldurur. Böylece, gerçek görüntüleri istediğiniz zaman indirebilirsiniz.

Aşağıdaki örnek, SDK'ya yalnızca URI'yi döndürmesi talimatını verir.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

Resim yükü kontrolleri

Bazı reklamlarda tek bir resim yerine bir dizi resim bulunur. Uygulamanızın tüm resimleri mi yoksa yalnızca bir resmi mi göstermeye hazır olduğunu belirtmek için bu özelliği kullanın.

boolean değeriyle NativeAdOptions.Builder.setRequestMultipleImages() işlevini çağırın.

  • Resim yükü kontrolleri varsayılan olarak devre dışıdır.

  • Devre dışı bırakıldığında uygulamanız, SDK'ya bir dizi içeren öğeler için yalnızca ilk resmi sağlaması talimatını verir.

  • Etkinleştirildiğinde uygulamanız, birden fazla öğe içeren tüm öğelerin resimlerini göstermeye hazır olduğunu belirtir.

Aşağıdaki örnek, SDK'ya birden fazla resim öğesi döndürmesi talimatını veriyor.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Reklam Seçenekleri yerleşimleri

Reklam Seçenekleri simgesinin görünümünü özelleştirin.

Reklam Seçenekleri konum kontrolleri

Reklam Seçenekleri konum kontrolleri, Reklam Seçenekleri simgesinin hangi köşede oluşturulacağını seçmenize olanak tanır.

NativeAdOptions.Builder.setAdChoicesPlacement() ile NativeAdOption.AdChoicesPlacement değeriyle arama yapın.

  • Ayarlanmamışsa Reklam Seçenekleri simgesinin konumu sağ üst olarak belirlenir.

  • Ayarlanırsa AdChoices, istenen özel konuma yerleştirilir.

Aşağıdaki örnekte, özel bir AdChoices resim konumunun nasıl ayarlanacağı gösterilmektedir.

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AdChoices özel görünümü

Reklam Seçenekleri özel görünüm özelliği, Reklam Seçenekleri simgesini özel bir konuma yerleştirmenize olanak tanır. Bu, yalnızca dört köşeden birinin belirtilmesine izin veren AdChoices konum kontrollerinden farklıdır.

NativeAdView.setAdChoicesView() ile AdChoicesView değeriyle arama yapın.

Aşağıdaki örnekte, AdChoicesView içinde oluşturulan Reklam Seçenekleri simgesiyle özel bir Reklam Seçenekleri görünümünün nasıl ayarlanacağı gösterilmektedir.

Java

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

Video kontrolleri

Video öğesi davranışını yapılandırın.

Sessize alma davranışını başlatma

Sessiz başlatma davranışı, bir videonun başlangıç sesini devre dışı bırakmanıza veya etkinleştirmenize olanak tanır.

boolean değeriyle VideoOptions.Builder.setStartMuted() işlevini çağırın.

  • Başlangıçta sessize alma davranışı varsayılan olarak etkindir.

  • Devre dışı bırakıldığında uygulamanız, videonun sesle başlamasını ister.

  • Etkinleştirildiğinde uygulamanız, videonun sesi kapalı olarak başlatılmasını ister.

Aşağıdaki örnekte, videonun sesi açık olarak nasıl başlatılacağı gösterilmektedir.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Özel oynatma kontrolleri

Bu, videoyu oynatmak, duraklatmak veya sessize almak için özel video giriş kontrolleri istemenize olanak tanır.

boolean değeriyle VideoOptions.Builder.setCustomControlsRequested() işlevini çağırın.

  • Özel oynatma kontrolleri varsayılan olarak devre dışıdır.

  • Devre dışı bırakıldığında videonuzda SDK tarafından oluşturulan giriş kontrolleri gösterilir.

Reklamda video içeriği varsa ve özel kontroller etkinleştirilmişse reklamda herhangi bir kontrol gösterilmeyeceğinden özel kontrollerinizi reklamla birlikte göstermeniz gerekir. Kontroller daha sonra

VideoController.

Aşağıdaki örnekte, özel oynatma kontrolleri içeren bir videonun nasıl isteneceği gösterilmektedir.

Java

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Özel kontrollerin etkin olup olmadığını kontrol etme

Döndürülen reklamın, istek sırasında özel video denetimlerine izin verip vermeyeceği bilinmediğinden özel denetimlerin etkin olup olmadığını kontrol etmeniz gerekir.

Java

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

Özel video kontrollerini oluşturma

Aşağıdaki en iyi uygulamaları kullanarak özel video kontrolleri oluşturun:

  1. Özel kontroller görünümünü, yerel reklam görünümünün alt öğesi olarak oluşturun. Bu yaklaşım, Open Measurement görüntüleme oranı hesaplamalarında özel kontrollerin dost engel olarak değerlendirilmesine olanak tanır.
  2. Tüm medya görünümünde görünmez bir yer paylaşımı oluşturmaktan kaçının. Yer paylaşımları, medya görünümündeki tıklamaları engeller ve doğal reklamların performansını olumsuz etkiler. Bunun yerine, kontrolleri sığdıracak kadar büyük küçük bir yer paylaşımı oluşturun.

Özel tıklama hareketleri

Özel tıklama hareketleri, reklam görüntülemelerinde kaydırmaların reklam tıklaması olarak kaydedilmesini sağlayan bir yerel reklam özelliğidir. İçerik gezinme için kaydırma hareketlerini kullanan uygulamalarla çalışmak üzere tasarlanmıştır. Bu kılavuzda, yerel reklamlarınızda özel tıklama hareketlerinin nasıl etkinleştirileceği gösterilmektedir.

Dokunmaların tıklama olarak kabul edilmesini isteyip istemediğinizi belirtmek için NativeAdOptions.Builder.enableCustomClickGestureDirection() işlevini NativeAdOptions.SwipeGestureDirection ve boolean ile birlikte kullanın.

Aşağıdaki örnekte, sağa doğru özel bir kaydırma hareketi uygulanmakta ve normal sekme davranışı korunmaktadır.

  • Özel tıklama hareketleri varsayılan olarak devre dışıdır.

  • Devre dışı bırakıldığında uygulamanız normal tıklama davranışını destekler.

  • Etkinleştirildiğinde uygulamanız özel kaydırma hareketlerini destekler.

Aşağıdaki örnekte, sağa doğru özel bir kaydırma hareketi uygulanmakta ve normal sekme davranışı korunmaktadır.

Java

NativeAdOptions adOptions =
    new NativeAdOptions.Builder()
        .enableCustomClickGestureDirection(
            NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT, /* tapsAllowed= */ true)
        .build();

// ca-app-pub-3940256099942544/2247696110 is a sample ad unit ID that has custom click
// gestures enabled.
AdLoader.Builder builder =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions);

Kotlin

val adOptions =
  NativeAdOptions.Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT, true)
    .build()

val builder = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions)

Kaydırma hareketi etkinliklerini dinleme

Bir kaydırma hareketi tıklaması kaydedildiğinde Google Mobile Ads SDK'sı, mevcut onAdClicked() yöntemine ek olarak AdListener üzerinde onAdSwipeGestureClicked() yöntemini çağırır.

Java

AdLoader adLoader =
    new AdLoader.Builder(context, AD_UNIT_ID)
        .withAdListener(
            new AdListener() {
              // Called when a swipe gesture click is recorded.
              @Override
              public void onAdSwipeGestureClicked() {
                // Called when a swipe gesture click is recorded.
                Log.d(TAG, "A swipe gesture click has occurred.");
              }

              @Override
              public void onAdClicked() {
                // Called when a swipe gesture click or a tap click is recorded, as
                // configured in NativeAdOptions.
                Log.d(TAG, "A swipe gesture click or a tap click has occurred.");
              }
            })
        .build();

Kotlin

val adLoader =
  AdLoader.Builder(context, AD_UNIT_ID)
    .withAdListener(
      object : AdListener() {
        override fun onAdSwipeGestureClicked() {
          // Called when a swipe gesture click is recorded.
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        override fun onAdClicked() {
          // Called when a swipe gesture click or a tap click is recorded, as
          // configured in NativeAdOptions.
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      }
    )
    .build()

Uyumlulaştırma

Özel tıklama hareketleri yalnızca Google Mobile Ads SDK'sının oluşturduğu doğal reklamlarda çalışır. Oluşturma için üçüncü taraf SDK'ları gerektiren reklam kaynakları, özel tıklama yönlendirmeleri ayarına yanıt vermez.