Gelişmiş yerel ö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 özelliklerinin nasıl kullanılacağı gösterilmektedir.

Ön koşullar

Öğe kontrolleri

Bu bölümde, doğal reklamlarınızdaki reklam öğesi varlıklarını nasıl özelleştireceğiniz açıklanmaktadır. Medya öğeleri için tercih edilen bir en-boy oranı ve resim öğelerinin nasıl indirileceğini ve görüntüleneceğini belirtebilirsiniz.

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.

NativeAdRequest.Builder.setMediaAspectRatio() değerini NativeAd.NativeMediaAspectRatio ile çağırın.

  • Ayar yapılmadığı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.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build();

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.

NativeAdRequest.Builder.disableImageDownloading() numaralı telefonu arayın.

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

  • Devre dışı bırakıldığında GMA Next-Gen SDK 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 örnekte, SDK'nın yalnızca URI'yi döndürmesi talimatı verilmektedir.

Kotlin

val adRequest = NativeAdRequest.Builder(
    "ca-app-pub-3940256099942544/2247696110",
    listOf(NativeAd.NativeAdType.NATIVE))
    .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .disableImageDownloading()
    .build()

val adCallback: NativeAdLoaderCallback =
  object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Get the image uri.
      val imageUri = nativeAd.image?.uri
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .disableImageDownloading()
  .build();

NativeAdLoaderCallback adLoaderCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Get the image uri.
      Uri imageUri = nativeAd.getImage().getUri();
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

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östereceğini belirtmek için bu özelliği kullanın.

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

  • Devre dışı bırakıldığında uygulamanız, SDK'ya bir dizi içeren tüm öğ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 örnekte, SDK'nın birden fazla resim öğesi döndürmesi talimatı verilmektedir.

Reklam Seçenekleri yerleşimleri

Bu bölümde, AdChoices yer paylaşımının nasıl konumlandırılacağı 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

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

NativeAdRequest.Builder.setAdChoicesPlacement() değerini NativeAdRequest.AdChoicesPlacement ile çağırı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.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .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() AdChoicesView değeriyle çağrılır.

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.

Kotlin

override fun onNativeAdLoaded(nativeAd: NativeAd) {
  val nativeAdView = NativeAdView(applicationContext)
  val adChoicesView = AdChoicesView(this)
  nativeAdView.adChoicesView = adChoicesView
}

Java

public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
  NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
  AdChoicesView adChoicesView = new AdChoicesView(this);
  nativeAdView.setAdChoicesView(adChoicesView);
}

Video kontrolleri

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

Sesi kapalı başlatma davranışı

Başlangıçta sessiz başlatma özelliği, videonun başlangıçtaki sesini devre dışı bırakmanıza veya etkinleştirmenize olanak tanır.

VideoOptions.Builder.setStartMuted()'ı boolean değeriyle arayın ve NativeAdOptions.Builder.setVideoOptions()'ı arayın.

  • Başlangıçta sesi kapatma 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.

Kotlin

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

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Özel oynatma kontrolleri

Bu sayede, videoyu oynatmak, duraklatmak veya sessize almak için özel video girişi kontrolleri isteyebilirsiniz.

Reklamların başlangıçtaki sessiz durumunu ayarlamak için VideoOptions.Builder.setCustomControlsRequested() işlevini çağırın.

  • Özel oynatma kontrolü 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 reklamın kendisinde herhangi bir kontrol gösterilmeyeceğinden özel kontrollerinizi reklamla birlikte göstermeniz gerekir. Denetimler daha sonra ilgili yöntemleri

VideoOptions.Builder.setCustomControlsRequested().

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

Kotlin

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

val adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

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

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

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        val mediaContent = nativeAd.mediaContent;
        if (mediaContent != null) {
          val videoController = mediaContent.videoController;
          val canShowCustomControls = videoController?.isCustomControlsEnabled();
        }
      }
    };

Java

NativeAdLoaderCallback adCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      MediaContent mediaContent = nativeAd.getMediaContent();
      if (mediaContent != null) {
        VideoController videoController = mediaContent.getVideoController();
        if (videoController != null) {
          boolean 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 dost engel olarak değerlendirmesine olanak tanır.
  2. Görünmez bir yer paylaşımını medya merkezinin tamamında oluşturmaktan kaçının. Yer paylaşımları, medya merkezindeki 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ülemelerindeki kaydırmaları reklam tıklaması olarak kaydetmenize olanak tanıyan bir doğal reklam özelliğidir. İçeriklerde 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.

NativeAdRequest.Builder.enableCustomClickGestureDirection() işlevini NativeAd.SwipeGestureDirection ve boolean değeriyle ç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.

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

Kotlin

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

// You can use the following sample ad unit ID to test custom click gestures.
val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .withNativeAdOptions(adOptions)
  .build();

Java

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

// You can use the following sample ad unit ID to test custom click gestures.
NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .withNativeAdOptions(adOptions)
  .build();

Kaydırma hareketi etkinliklerini dinleme

Kaydırma hareketi etkinliklerini dinlemek için NativeAd.setAdEventCallback() işlevini NativeAdEventCallback ile çağırın ve onAdSwipeGestureClicked() yöntemini uygulayın.

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
          override fun onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        }
      }
    }
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback)

Java

  NativeAdLoaderCallback adCallback =
    new NativeAdLoaderCallback() {
      @Override
      public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
          @Override
          public void onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        };
      }
    };
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback);

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.