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
- Yerel reklam biçimini entegre edin.
Öğ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, '/21775744923/example/native')
.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, '/21775744923/example/native')
.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, '/21775744923/example/native')
.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, '/21775744923/example/native')
.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, '/21775744923/example/native')
.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, '/21775744923/example/native')
.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:
- Ö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.
- 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, '/21775744923/example/native')
.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.