Bu kılavuzda, bir reklam isteğine nasıl hedefleme bilgilerinin sağlanacağı açıklanmaktadır. Çalışan bir örnek için Android API Demo uygulamasını indirin.
Ön koşul
- Başlangıç kılavuzunu tamamlayın.
RequestConfiguration
RequestConfiguration
, MobileAds
statik bir yöntemle global olarak uygulanacak hedefleme bilgilerini toplayan bir nesnedir.
İstek yapılandırmasını güncellemek için mevcut yapılandırmadan bir oluşturucu edinin, istediğiniz güncellemeleri yapın ve aşağıdaki gibi ayarlayın:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Çocuklara yönelik ayar
Çocukların Çevrimiçi Gizliliğini Koruma Yasası (COPPA) için "çocuklara yönelik olarak değerlendirilme etiketi" adlı bir ayar bulunur. Bu etiketi ayarlayarak, bu bildirimin doğru olduğunu ve uygulamanın sahibi adına hareket etme yetkisine sahip olduğunuzu onaylamış olursunuz. Bu ayarın kötüye kullanımının Google Hesabınızın feshedilmesiyle sonuçlanabileceğini kabul edersiniz.
Bir uygulama geliştiricisi olarak, bir reklam isteği yaptığınızda Google'ın içeriğinizi çocuklara yönelik olarak değerlendirmesini isteyip istemediğinizi belirtebilirsiniz. Google'ın içeriğinizi çocuklara yönelik olarak değerlendirmesini istediğinizi belirtirseniz bu reklam isteğinde IBA ve yeniden pazarlama reklamlarını devre dışı bırakmak için gerekli işlemleri yaparız.
Bu ayar, RequestConfiguration.Builder.setTagForChildDirectedTreatment(int)
üzerinden Google Play Hizmetleri SDK'sının tüm sürümleriyle kullanılabilir:
İçeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğinizi belirtmek için
setTagForChildDirectedTreatment
öğesiniTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
ile çağırın. Bu, Android reklam kimliğinin (AAID) aktarılmasını engeller.İçeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istemediğinizi belirtmek için
setTagForChildDirectedTreatment
öğesiniTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE
ile çağırın.Reklam isteklerinde içeriğinizin COPPA'ya göre nasıl ele alınmasını istediğinizi belirtmek istemiyorsanız
setTagForChildDirectedTreatment
ileTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
yöntemini çağırın.
Aşağıdaki örnek, içeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğinizi belirtir:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Reşit olma yaşının altındaki kullanıcılar
Reklam isteklerinizi, Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılar için değerlendirilecek şekilde işaretleyebilirsiniz. Bu özellik, Genel Veri Koruma Yönetmeliği'ne (GDPR) uygunluğu kolaylaştırmak için tasarlanmıştır. GDPR kapsamında başka yasal yükümlülüklerinizin olabileceğini unutmayın. Avrupa Birliği'nin yönergelerini inceleyin ve kendi yasal danışmanınıza başvurun. Google araçlarının, uyumluluğu kolaylaştırmak için tasarlandığını ve herhangi bir yayıncının hukuki yükümlülüklerini azaltmadığını unutmayın. GDPR'nin yayıncıları nasıl etkilediği hakkında daha fazla bilgi edinin.
Bu özellik kullanılırken reklam isteğine Avrupa'da Reşit Olma Yaşının (TFUA) Altındaki Kullanıcılar İçin Etiketi eklenir. Bu parametre, yeniden pazarlama dahil olmak üzere tüm reklam istekleri için kişiselleştirilmiş reklamcılığı devre dışı bırakır. Reklam ölçüm pikselleri ve üçüncü taraf reklam sunucuları gibi üçüncü taraf reklam sağlayıcılarına gönderilen istekler de devre dışı bırakılır.
Çocuklara yönelik ayarlarda olduğu gibi, RequestConfiguration.Builder
ürününde de TFUA parametresini setTagForUnderAgeOfConsent()
ayarlamak için kullanabileceğiniz bir yöntem vardır.
Reklam isteğinin, Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılar için değerlendirilmesini istediğinizi belirtmek üzere
setTagForUnderAgeOfConsent()
numarasınıTAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
ile arayın. Bu durum, Android reklam kimliğinin (AAID) aktarılmasını da engeller.Reklam isteğinin, Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılar için değerlendirilmemesini istediğinizi belirtmek üzere
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
ilesetTagForUnderAgeOfConsent()
numaralı telefonu arayın.Reklam isteğinin, Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılar için değerlendirilip değerlendirilmeyeceğini belirtmediğinizi belirtmek üzere
setTagForUnderAgeOfConsent()
numaralı telefonuTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
ile arayın.
Aşağıdaki örnek, reklam isteklerinize TFUA'nın dahil edilmesini istediğinizi gösterir:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Çocuklara yönelik ayarını ve setTagForUnderAgeOfConsent()
'yi etkinleştiren etiketlerin her ikisi de aynı anda true
olarak ayarlanmamalıdır.
Bu şekilde olması durumunda çocuklara yönelik ayar öncelikli olur.
Reklam içeriğini filtreleme
Google Play'in reklam içindeki ilişkili teklifleri içeren Uygunsuz Reklam Politikası'na uymak için, içerik Google Play'in politikalarına uygun olsa bile uygulamanızda gösterilen tüm reklamlar ve bunlarla ilişkili teklifler uygulamanızın içerik derecelendirmesine uygun olmalıdır.
Maksimum reklam içeriği derecelendirmesi gibi araçlar, kullanıcılarınıza gösterilen reklamların içerikleri üzerinde daha fazla kontrole sahip olmanıza yardımcı olabilir. Platform politikalarına uygunluğu sağlamak için maksimum içerik derecelendirmesi ayarlayabilirsiniz.
Uygulamalar, setMaxAdContentRating
yöntemini kullanarak reklam istekleri için maksimum reklam içeriği derecelendirmesi belirleyebilir. Bu yapılandırıldığında döndürülen AdMob reklamlarının içerik derecelendirmesi, söz konusu düzeyde veya daha düşük olur. Bu ağ ekstrası için olası değerler dijital içerik etiketi sınıflandırmalarına dayanır ve aşağıdaki dizelerden biri olmalıdır:
MAX_AD_CONTENT_RATING_G
MAX_AD_CONTENT_RATING_PG
MAX_AD_CONTENT_RATING_T
MAX_AD_CONTENT_RATING_MA
Aşağıdaki kod, döndürülen reklam içeriğinin G
değerinden yüksek olmayan bir dijital içerik etiketi tanımlamasına karşılık gelmesi gerektiğini belirtmek için bir RequestConfiguration
nesnesini yapılandırır:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Aşağıdaki konular hakkında daha fazla bilgi edinin:
Her reklam isteği için maksimum içerik derecelendirmesini ayarlama
Bir uygulama veya hesap için maksimum reklam içeriği derecelendirmesi ayarlama
Yayıncılara Yönelik Gizlilik Değerlendirmesi (Beta)
Yayıncı Gizlilik Değerlendirmesi
(PPT) API, uygulamaların setPublisherPrivacyPersonalizationState()
yöntemini kullanarak tüm reklam istekleri için reklam kişiselleştirmenin devre dışı bırakılıp bırakılmayacağını belirtmesine olanak tanıyan isteğe bağlı bir araçtır.
Bu özellik kullanılırken, oturumun geri kalanı için gelecekteki tüm reklam isteklerine bir yayıncı gizlilik işleme (PPT) parametresi eklenir.
Varsayılan olarak, Google'a yapılan reklam istekleri sonucunda kişiselleştirilmiş reklamlar yayınlanır. Aşağıdaki kod, tüm reklam istekleri için reklam kişiselleştirmeyi kapatır:
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Kotlin
var requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Reklam isteği
AdManagerAdRequest
nesnesi, bir reklam isteğiyle birlikte gönderilecek hedefleme bilgilerini toplar.
Özel hedefleme
Özel anahtar/değer çiftlerini, AdManagerAdRequest.Builder.addCustomTargeting()
aracılığıyla Google Ad Manager kampanyalarını (satır öğeleri) hedeflemek için geçirebilirsiniz:
Java
// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build();
Kotlin
// Example: Pass custom targeting "age=25".
var newRequest = AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build()
Dize listesi olarak bir anahtar için birden çok değer aktarabilirsiniz. Örneğin, yalnızca 25 yaşındakileri değil, 20'lerin ortasındaki kişileri hedefleyebilirsiniz.
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Android API Demo uygulamasında özel hedeflemenin uygulanması için Ad Manager Özel Hedefleme örneğine göz atın.
Kategori hariç tutma
AdManagerAdRequest.Builder
tarafından sağlanan addCategoryExclusion()
yöntemini kullanarak bir isteğe alan düzeyinde kategori hariç tutma düzeyi ekleyebilirsiniz:
Java
// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Kotlin
// Example: Exclude "automobile" and "boat" categories.
var newRequest = AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Android API Demo uygulamasında kategori hariç tutmaların uygulanması için Ad Manager Kategori Hariç Tutma örneğine göz atın.
Yayıncı tarafından sağlanan tanımlayıcılar
Sıklık sınırı, kitle segmentasyonu ve hedefleme, sıralı reklam rotasyonu ve cihazlar arasında diğer kitleye dayalı reklam yayını kontrolleri için kullanılacak, yayıncı tarafından sağlanan bir tanımlayıcı (PPID) ayarlayabilirsiniz.
PPID'yi ayarlamayla ilgili bir örneği aşağıda bulabilirsiniz:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build();
Kotlin
var adRequest = AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build()
Android API Demo uygulamasında yayıncı tarafından sağlanan tanımlayıcıların (PPID) uygulanması için Ad Manager PPID örneğine göz atın.
Yayıncı tarafından sağlanan sinyaller
Kitle ve içerik verilerini, reklam isteklerinde yayıncı tarafından sağlanan sinyaller (PPS) olarak gönderebilirsiniz. PPS ile kitle özelliklerinizi tüm işlem türlerindeki teklif verenlere ileterek standart sınıflandırmalar kullanıp kullanıcı tanımlayıcılarını paylaşmaya gerek kalmadan programatik para kazanmayı iyileştirmek için kullanıcı verilerinizi kullanabilirsiniz. Kitle özellikleriniz, davranış ve ilgi alanına dayalı verileri (IAB Kitle Sınıflandırması 1.1) ve içeriğe dayalı verileri (IAB İçerik Sınıflandırması 2.2) içerebilir.
Java
Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build()
Kotlin
val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))
val request = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
İçerik URL'si
İçerik hedefli reklamlar ve marka güvenliği için içerik URL'si sağlamak üzere AdManagerAdRequest
oluştururken setContentUrl()
işlevini çağırabilirsiniz:
Java
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();
Kotlin
val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Marka güvenliği (Beta)
Çeşitli kitlelere yönelik dinamik içerikler gösteren uygulamalar, AdManagerAdRequest
oluştururken setNeighboringContentUrls()
yöntemini kullanarak kısa bir URL listesi sağlayabilir:
Java
ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
.setNeighboringContentUrls(urls)
.build();
Kotlin
var urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
var requestWithContent = AdManagerAdRequest.Builder()
.setNeighboringContentUrls(urls)
.build()
.setNeighboringContentUrls()
, yalnızca marka güvenliği için kullanılması açısından .setContentUrl()
ile ayrılır.