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
- Doğal reklam biçimini entegre edin.
Öğe kontrolleri
Bu bölümde, doğal reklamlarınızdaki reklam öğelerini nasıl özelleştireceğiniz açıklanmaktadır. Medya öğeleri için tercih edilen bir en-boy oranı ve resim öğelerinin nasıl indirilip görüntüleneceğini belirleyebilirsiniz.
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
olarak ayarlayı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.
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 denetimi varsayılan olarak devre dışıdır.
Devre dışı bırakıldığında Google Mobile Ads SDK'sı (beta) 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.
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);
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.
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 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 örnek, SDK'ya birden fazla resim öğesi döndürmesi talimatını veriyor.
Reklam Seçenekleri yerleşimleri
Bu bölümde, AdChoices 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
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
olarak ayarlayı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();
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()
, 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.
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.
VideoOptions.Builder.setStartMuted()
'ı boolean
değeriyle ve NativeAdOptions.Builder.setVideoOptions()
'ı arayı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.
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, videoyu oynatmak, duraklatmak veya sessize almak için özel video giriş kontrolleri istemenize olanak tanır.
Reklamların başlangıçtaki sessiz durumunu ayarlamak için 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 reklamın kendisinde herhangi bir kontrol gösterilmeyeceğinden özel kontrollerinizi reklamla birlikte göstermeniz gerekir. Kontroller daha sonra
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 denetimlerine izin verip vermeyeceği bilinmediğinden özel denetimlerin 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 kontrollerini oluşturma
Aşağıdaki en iyi uygulamaları kullanarak özel video kontrolleri oluşturun:
- Ö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.
- 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. İçeriklerde gezinmek için kaydırma hareketlerini kullanan uygulamalarla çalışacak şekilde tasarlanmıştır. Bu kılavuzda, yerel reklamlarınızda özel tıklama hareketlerinin nasıl etkinleştirileceği gösterilmektedir.
NativeAdRequest.Builder.enableCustomClickGestureDirection()
işlevini NativeAd.SwipeGestureDirection
ve boolean
değeriyle çağırı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.
Kotlin
val adOptions = NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(
/* swipeDirection */ 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.
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();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
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.