Gelişmiş özellikleri ayarlama

Platform seçin: Android iOS Android (Eski)

Doğal reklamlar, ek özelleştirmeler yapmanıza ve mümkün olan en iyi reklam deneyimini sunmanıza olanak tanıyan birçok ileri seviye özelliğe sahiptir. Bu kılavuzda, doğal reklamların ileri seviye özelliklerini nasıl kullanacağınız gösterilmektedir.

Ön koşullar

Öğe kontrolleri

Bu bölümde, doğal reklamlarınızdaki reklam öğelerini nasıl özelleştireceğiniz ayrıntılı olarak açıklanmaktadır. Medya öğeleri için tercih edilen en-boy oranını ve resim öğelerinin nasıl indirilip gösterileceğini belirtebilirsiniz.

Tercih edilen medya en-boy oranı kontrolleri

Medya En-Boy Oranı Kontrolleri, reklam öğelerinin en-boy oranı için tercih belirlemenize olanak tanır.

NativeAdOptions.Builder.setMediaAspectRatio() yöntemini NativeAdOptions.MediaAspectRatio değeriyle çağırın.

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

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

Aşağıdaki örnekte, SDK'ya belirli bir en-boy oranına sahip bir resim veya video döndürmesi 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 denetimi

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

boolean değeriyle NativeAdOptions.Builder.setReturnUrlsForImageAssets() yöntemini çağırın.

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

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

  • Bu özellik etkinleştirildiğinde SDK, yalnızca URI'yi doldurur ve gerçek resimleri istediğiniz zaman indirmenize olanak tanır.

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

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()

Görsel yükü denetimi

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

boolean değeriyle NativeAdOptions.Builder.setRequestMultipleImages() yöntemini çağırın.

  • Görsel yükü denetimi varsayılan olarak devre dışıdır.

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

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

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

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

Bu bölümde, Reklam Seçenekleri yer paylaşımının nasıl konumlandırılacağı ayrıntılı olarak açıklanmaktadır. Yerleşimini dört köşeden birine ayarlayabilir veya özel bir görünümde oluşturabilirsiniz.

Reklam Seçenekleri konum kontrolleri

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

NativeAdOptions.Builder.setAdChoicesPlacement() yöntemini NativeAdOption.AdChoicesPlacement değeriyle çağırın.

  • Ayarlanmazsa Reklam Seçenekleri simgesinin konumu sağ üst olarak ayarlanır.

  • Ayarlanırsa Reklam Seçenekleri, istendiği gibi özel konuma yerleştirilir.

Aşağıdaki örnekte, özel bir Reklam Seçenekleri 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()

Reklam Seçenekleri ö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 Reklam Seçenekleri konum kontrollerinden farklıdır.

NativeAdView.setAdChoicesView() yöntemini AdChoicesView değeriyle çağırın.

Aşağıdaki örnekte, Reklam Seçenekleri simgesi AdChoicesView içinde oluşturulmuş ö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

Bu bölümde, video reklamların oynatma deneyiminin nasıl özelleştirileceği ayrıntılı olarak açıklanmaktadır. İlk ses kapatma durumunu ayarlayabilir ve özel oynatma kontrolleri uygulayabilirsiniz.

Sesi kapalı başlatma davranışı

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

boolean değeriyle VideoOptions.Builder.setStartMuted() yöntemini çağırın.

  • Sessiz başlatma davranışı varsayılan olarak etkindir.

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

  • Bu seçenek etkinleştirildiğinde uygulamanız, videonun sesinin 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 sayede, videoyu oynatmak, duraklatmak veya videonun sesini kapatmak için özel video giriş kontrolleri isteyebilirsiniz.

boolean değeriyle VideoOptions.Builder.setCustomControlsRequested() yöntemini ç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. Ardından kontroller,

VideoController.

Aşağıdaki örnekte, özel oynatma kontrolleri içeren bir videonun nasıl isteneceğini 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

İstek sırasında, döndürülen reklamın özel video kontrollerine izin verip vermeyeceği bilinmediğinden özel kontrollerin 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 kontrolleri oluşturma

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

  1. Özel kontroller görünümünü, doğal reklam görünümünün alt öğesi olarak oluşturun. Bu yaklaşım, açık ölçüm görüntülenebilirlik hesaplamalarının özel kontrolleri dostane bir engel olarak değerlendirmesine olanak tanır.
  2. Medya merkezinin tamamında görünmez bir yer paylaşımı oluşturmaktan kaçının. Yer paylaşımları, medya görüntülemesindeki tıklamaları engelleyerek doğal reklam performansını olumsuz etkiler. Bunun yerine, yalnızca kontrolleri sığdıracak kadar büyük olan küçük bir yer paylaşımı oluşturun.

Özel tıklama hareketleri

Özel tıklama hareketleri, reklam görüntülemelerindeki kaydırmaları reklam tıklamaları olarak kaydetmenize olanak tanıyan bir doğal reklam özelliğidir. İçerikte gezinmek için kaydırma hareketlerini kullanan uygulamalarda çalışır. Bu kılavuzda, doğal reklamlarınızda özel tıklama hareketlerini nasıl etkinleştireceğiniz gösterilmektedir.

Dokunmaların tıklama olarak kabul edilip edilmeyeceğini belirtmek için NativeAdOptions.SwipeGestureDirection ve boolean ile NativeAdOptions.Builder.enableCustomClickGestureDirection() yöntemini çağırın.

  • Ö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.

  • Bu özellik 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 dokunma 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

Kaydırma hareketi tıklaması kaydedildiğinde Google Mobile Ads SDK (Legacy), 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 talimatları ayarına yanıt vermez.