Doğal reklam seçenekleri

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ğı gösterilmektedir.

Ön koşullar

Öğe kontrolleri

Tercih edilen medya en boy oranı kontrolleri

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

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

  • Ayarlanmamışsa 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 döndürülen resim veya videoyu tercih etmesi talimatı verilmektedir.

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Resim indirme kontrolü

Resim indirme kontrolü, SDK'nın resim öğelerini mi yoksa yalnızca URI'leri mi döndüreceğine karar vermenize olanak tanır.

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .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 birini 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ü denetimleri varsayılan olarak devre dışıdır.

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

  • Bu özellik etkinleştirildiğinde uygulamanız, birden fazla öğesi olan tüm öğ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.

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Reklam Seçenekleri yerleşimleri

Reklam Seçenekleri konum kontrolleri

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

NativeAdOption.AdChoicesPlacement değeriyle NativeAdOptions.Builder.setAdChoicesPlacement() işlevini çağırın.

  • Ayarlanmamışsa Reklam Seçenekleri simgesi sağ üstte konumlandırılır.

  • Ayarlanırsa AdChoices, istendiği gibi özel konuma yerleştirilir.

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Reklam Seçenekleri özel görünümü

Reklam Seçenekleri özel görüntüleme ö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.

AdChoicesView değeriyle NativeAdView.setAdChoicesView() işlevini çağırı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.


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

Video kontrolleri

Sessiz modu başlatma davranışı

Sessiz başlatma davranışı, 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.
  • Sessiz başlatma davranışı varsayılan olarak etkindir.

  • Devre dışı bırakıldığında uygulamanız, videonun sesli olarak başlatılmasını ister.

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

Özel oynatma kontrolleri

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

boolean değeriyle VideoOptions.Builder.setCustomControlsRequested() işlevini çağırın.
  • Özel oynatma kontrolleri varsayılan olarak devre dışıdır.

  • Bu seçenek 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 etkinse reklamda herhangi bir kontrol gösterilmeyeceğinden reklamla birlikte özel kontrollerinizi de göstermeniz gerekir. Kontroller daha sonra VideoController üzerinde ilgili yöntemleri çağırabilir.

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

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

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

Java

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

Özel video denetimleri oluşturma

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

  1. Özel denetimler görünümünü yerel 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 kullanıcı dostu bir engel olarak değerlendirmesini sağlar.
  2. Medya görünümünün tamamının üzerine görünmez bir yer paylaşımı oluşturmaktan kaçının. Yer paylaşımları, medya görünümündeki tıklamaları engelleyerek doğal reklam performansını olumsuz etkiler. Bunun yerine, kontrollere sığacak kadar büyük bir yer paylaşımı oluşturun.

Özel tıklama hareketleri

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

Dokunma işlemlerine tıklama olarak izin verilip verilmeyeceğini belirtmek için NativeAdOptions.SwipeGestureDirection ve boolean ile birlikte NativeAdOptions.Builder.enableCustomClickGestureDirection() değerini çağırın.

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

  • Bu özellik 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 sekme davranışı korunmaktadır.

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

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, 'ca-app-pub-3940256099942544/2247696110')
    .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.

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

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          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önleri ayarına yanıt vermez.