Bu kılavuzda, Google Mobile Ads SDK'sına hedefleme bilgilerinin nasıl sağlanacağı açıklanmaktadır.
Çalışan bir örnek için Android API Demo uygulamasını indirin.Ön koşul
Devam etmeden önce Google Mobile Ads SDK (Legacy) uygulamasını kurun.
RequestConfiguration
RequestConfiguration
her reklam isteğine genel olarak uygulanan hedefleme bilgilerini toplar. Kullanılabilir hedefleme etiketleri için RequestConfiguration.Builder belgelerine bakın.
İstek yapılandırmasını güncellemek için mevcut yapılandırmadan bir oluşturucu alın, seçilen güncellemeleri yapın ve aşağıdaki gibi ayarlayın:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration();
MobileAds.setRequestConfiguration(requestConfiguration);Tüm reklam isteklerinin istek yapılandırması değişikliklerini uyguladığından emin olmak için Google Mobile Ads SDK (Legacy) ilk kullanıma hazırlamadan önce istek yapılandırmasını ayarlayın.
Yaş değerlendirmesini ayarlama
Google Mobile Ads SDK (Legacy), çocuklarla ve gençlerle ilgili gizlilik yönetmeliklerine uymanıza yardımcı olmak için yaşa uygun işlem ayarı sunar. Yaşa uygun içerik ayarı, Google Mobile Ads SDK (Legacy) platformunun çocuklar, gençler veya belirtilmemiş bir yaş için belirli reklam sunma korumaları uygulayıp uygulamayacağını belirtmenize olanak tanır.
RequestConfiguration.Builder API'deki setAgeRestrictedTreatment() yöntemiyle yaşa uygun muamele ayarını yapabilirsiniz.
Aşağıdaki örnekte, reklam isteklerinin çocuk yaştakilere yönelik olarak değerlendirilmesi gerektiği belirtilmektedir:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);Gençlere yönelik veya belirtilmemiş yaş değerlendirmesini belirtmek için CHILD ayarını aşağıdakiyle değiştirin:
TEENUNSPECIFIED
Bu ayar kullanıldığında Google Mobile Ads SDK (Legacy), reklam isteklerine bir tfat parametresi ekler. Yasal ve düzenleyici yükümlülüklerinize göre kullanıcılarınız için geçerli yaşa göre işleme ayarını belirlemek üzere hukuk danışmanınıza başvurun. Daha fazla bilgi için Reklam isteklerini yaşa göre değerlendirme için etiketleme başlıklı makaleyi inceleyin.
TFCD ve TFUA'dan yaşa göre değerlendirmeye geçiş
Yaş değerlendirmesi ayarı, kullanımdan kaldırılan .setTagForChildDirectedTreatment() (TFCD) ve .setTagForUnderAgeOfConsent() (TFUA) ayarlarının yerini alır.
Aşağıdaki tabloda TFCD ve TFUA ayarları ile bunların yaş değerlendirmesi eşdeğerleri gösterilmektedir:
TFCD
TFCD |
Yaş deneyi |
|---|---|
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
Atanmış değer yok .setTagForChildDirectedTreatment() |
AgeRestrictedTreatment.UNSPECIFIED |
| Eşdeğeri yok | AgeRestrictedTreatment.TEEN |
TFUA
TFUA |
Yaş deneyi |
|---|---|
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
Atanmış değer yok .setTagForUnderAgeOfConsent() |
AgeRestrictedTreatment.UNSPECIFIED |
| Eşdeğeri yok | AgeRestrictedTreatment.TEEN |
TFCD ve TFUA ile yaş değerlendirmesi etkileşimlerini anlama
Yaş değerlendirmesi ayarını ve TFCD veya TFUA ayarlarını belirlerseniz Google, koruma düzeyi en yüksek olan değerlendirme yöntemini uygular.
Uyumlulaştırma ile yaş değerlendirmesini yönlendirme
Google Mobile Ads SDK (Legacy) kullanarak yaşa göre değerlendirme ayarı yaparsanız uyumlulaştırma bağdaştırıcıları, yaşa göre değerlendirme sinyalini uyumlulaştırılmış üçüncü taraf SDK'larına iletir.
Aşağıdaki tabloda, yaş kısıtlamalı değerlendirme sinyalinin uyumlulaştırılmış üçüncü taraf SDK'ya yönlendirilmesini destekleyen uyumlulaştırma bağdaştırıcısı sürümleri listelenmiştir:
| Uyumlulaştırma bağdaştırıcısı adı | Desteklenen minimum sürüm |
|---|---|
| AppLovin | 13.6.3.0 |
| BidMachine | 3.7.1.1 |
| Bigo | 5.9.0.1 |
| Chartboost | 9.12.1.1 |
| DTExchange (Fyber) | 8.4.5.1 |
| i-mobile | 2.3.2.4 |
| InMobi | 11.3.0.1 |
| IronSource | 9.4.3.0 |
| Liftoff Monetize (Vungle) | 7.7.4.2 |
| LY (Line) | 3.1.1.1 |
| maio | 2.0.9.0 |
| Meta (Facebook) | 6.21.0.4 |
| Mintegral | 17.1.61.1 |
| Moloco | 4.10.0.0 |
| MyTarget | 5.47.1.1 |
| Pangle | 8.1.0.3.1 |
| PubMatic | 5.1.2.2 |
| Verve | 3.9.0.0 |
Çocuklara yönelik ayarı
Çocukların Çevrimiçi Gizliliğini Koruma Yasası (COPPA) uyarınca, "çocuklara yönelik olarak değerlendirilmek üzere etiketleme" adlı bir ayar vardır. Bu etiketi ayarlayarak bu bildirimin doğru olduğunu ve uygulamanın sahibi adına hareket etme yetkiniz olduğunu onaylamış olursunuz. Bu ayarın kötüye kullanımının Google Hesabınızın feshedilmesine yol açabileceğini kabul ediyorsunuz.
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 söz konusu reklam isteğinde IBA ve yeniden pazarlama reklamlarını devre dışı bırakmak için gerekli adımları atarız.
Çocuklara yönelik ayarını şu yöntemlerle uygulayabilirsiniz:
setTagForChildDirectedTreatment():
İçeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğinizi belirtmek için
setTagForChildDirectedTreatmentparametresiniTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEile çağırın. Bu, Android reklam kimliğinin (AAID) iletilmesini engeller.İçeriğinizin COPPA uyarınca çocuklara yönelik olarak değerlendirilmesini istemediğinizi belirtmek için
setTagForChildDirectedTreatmentyönteminiTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEile çağırın.Reklam isteklerinde içeriğinizin COPPA'ya göre nasıl değerlendirilmesini istediğinizi belirtmek istemiyorsanız
setTagForChildDirectedTreatmentyönteminiTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDile çağırın.
Aşağıdaki örnekte, içeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğiniz belirtilmektedir:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration 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) uymayı kolaylaştırmak için tasarlanmıştır. GDPR kapsamında başka yasal yükümlülükleriniz olabilir. Avrupa Birliği yönergelerini inceleyin ve kendi yasal danışmanınıza başvurun. Google'ın araçları, uyumluluğu kolaylaştırmak için tasarlanmıştır ve yayıncıların hukuki yükümlülüklerini azaltmaz. 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 Altındaki Kullanıcılar İçin Etiket (TFUA) parametresi 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 istekleri de devre dışı bırakır.
Çocuklara yönelik ayarlarda olduğu gibi, RequestConfiguration.Builder'da TFUA parametresini ayarlamak için bir yöntem vardır:
setTagForUnderAgeOfConsent(),
Aşağıdaki seçeneklerle birlikte.
Reklam isteğinin Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılara yönelik olarak değerlendirilmesini istediğinizi belirtmek için
setTagForUnderAgeOfConsent()yönteminiTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEile çağırın. Bu işlem, Android reklam kimliğinin (AAID) iletilmesini de engeller.Reklam isteğinin Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılara yönelik olarak değerlendirilmemesini istediğinizi belirtmek için
setTagForUnderAgeOfConsent()yönteminiTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEile çağırın.Reklam isteğinin Avrupa Ekonomik Alanı'nda (AEA) reşit olma yaşının altındaki kullanıcılara yönelik olarak değerlendirilip değerlendirilmeyeceğini belirtmediğinizi göstermek için
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDilesetTagForUnderAgeOfConsent()yöntemini çağırın.
Aşağıdaki örnekte, reklam isteklerinize TFUA'nın dahil edilmesini istediğiniz belirtilmektedir:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);Çocuklara yönelik ayarını ve setTagForUnderAgeOfConsent() ayarını etkinleştiren etiketlerin ikisi de aynı anda true olarak ayarlanmamalıdır. Bu şekilde ayarlanırlarsa çocuklara yönelik ayarı öncelikli olur.
Reklam içeriğini filtreleme
Google Play'in, reklam içindeki ilişkili teklifleri de kapsayan Uygunsuz Reklam Politikası'na uymak için uygulamanızda gösterilen tüm reklamlar ve bunlarla ilişkili teklifler, uygulamanızın içerik derecelendirmesine uygun olmalıdır (içerik kendi başına Google Play'in politikalarına uygun olsa bile).
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 belirleyebilirsiniz.
Uygulamalar, reklam istekleri için maksimum reklam içeriği derecelendirmesini
setMaxAdContentRating
yöntemini kullanarak ayarlayabilir. Bu yapılandırıldığında döndürülen AdMob reklamlarının içerik derecelendirmesi bu düzeyde veya daha düşük olur. Bu ağ ekstrası için olası değerler, dijital içerik etiketi sınıflandırmalarını temel alır ve aşağıdaki dizelerden biri olmalıdır:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_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ımına karşılık gelmesi gerektiğini belirtmek için bir RequestConfiguration nesnesi yapılandırır:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);Her reklam isteği için maksimum içerik derecelendirmesi ayarlama hakkında daha fazla bilgi edinin.
Yayıncı Gizlilik Değerlendirmesi (Beta)
Yayıncı Gizlilik İşlemi (PPT) API'si, uygulamaların setPublisherPrivacyPersonalizationState() yöntemini kullanarak tüm reklam istekleri için reklam kişiselleştirmenin kapatılıp kapatılmayacağını belirtmesine olanak tanıyan isteğe bağlı bir araçtır. Bu özellik kullanıldığında, oturumun geri kalanında gelecekteki tüm reklam isteklerine bir yayıncı gizlilik işlemi (PPT) parametresi eklenir.
Varsayılan olarak, Google'a gönderilen reklam istekleri sonucunda kişiselleştirilmiş reklamlar yayınlanır. Aşağıdaki kod, tüm reklam istekleri için reklam kişiselleştirmeyi devre dışı bırakır:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED
)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setPublisherPrivacyPersonalizationState(
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);Reklam isteği
AdManagerAdRequest nesnesi, bir reklam isteğiyle gönderilecek hedefleme bilgilerini toplar.
Ağ ekstraları ekleme
Ağ ekstraları, tek bir reklam kaynağına özgü olan ve reklam isteğiyle birlikte gönderilen ek ayrıntılardır.
Aşağıdaki kod snippet'i, Google'a bottom değerine sahip ek bir collapsible parametre anahtarı ayarlar:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
adView.loadAd(adRequest)Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest =
new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
adView.loadAd(adRequest);Özel hedefleme
Google Ad Manager kampanyalarını (satır öğeleri) hedeflemek için özel anahtar/değer çiftleri iletebilirsiniz. Aşağıdaki örnekte, bir reklam isteğinde özel bir anahtar/değer çifti iletilmektedir:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build()Java
// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest =
new AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build();Bir anahtar için birden fazla değeri dize listesi olarak iletebilirsiniz. Örneğin, yalnızca 25 yaşındaki kişileri değil, 20'li yaşlarının ortasındaki kişileri hedeflemek için.
Kotlin
.addCustomTargeting("age", listOf("24", "25", "26"))Java
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))Kategori hariç tutmaları
addCategoryExclusion() yöntemini kullanarak bir isteğe alan düzeyinde kategori hariç tutma düzeyi ekleyebilirsiniz:
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest =
AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()Java
// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest =
new AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();Android API Demo uygulamasında kategori hariç tutma işlemlerinin 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 kitleye dayalı diğer reklam yayını kontrolleri için kullanılacak bir yayıncı tarafından sağlanan tanımlayıcı (PPID) ayarlayabilirsiniz.
PPID'yi ayarlamayla ilgili bir örneği aşağıda bulabilirsiniz:
Kotlin
val adRequest = AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build()Java
AdManagerAdRequest adRequest =
new 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
Reklam isteklerinde kitle ve içerik verilerini yayıncı tarafından sağlanan sinyaller (PPS) olarak gönderebilirsiniz. PPS ile kullanıcı verilerinizi kullanarak kitle özelliklerinizi tüm işlem türlerinde teklif verenlere iletebilir, standart sınıflandırmaları kullanarak ve kullanıcı tanımlayıcılarını paylaşmanıza gerek kalmadan programatik para kazanma performansını artırabilirsiniz. Kitle özellikleriniz, davranış ve ilgi alanına dayalı verileri (IAB Kitle Sınıflandırması 1.1) ve içerik verisini (IAB İçerik Sınıflandırması 2.2) içerebilir.
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 =
AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()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", new ArrayList<>(Arrays.asList(6, 284)));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", new ArrayList<>(Arrays.asList(4, 5, 6)));
AdManagerAdRequest request =
new AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();İçerik URL'si
İçerik hedefli reklamlar ve marka güvenliği için bir içerik URL'si sağlamak üzere aşağıdakileri ekleyin:
Kotlin
val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()Java
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();Marka güvenliği (Beta)
Farklı kitlelere yönelik dinamik içerik gösteren uygulamalar, kısa bir URL listesi sağlayabilir:
Kotlin
val urls =
mutableListOf(
"https://www.mycontenturl1.com",
"https://www.mycontenturl2.com",
"https://www.mycontenturl3.com",
"https://www.mycontenturl4.com",
)
val requestWithContent = AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build()Java
List<String> urls =
Arrays.asList(
"https://www.mycontenturl1.com",
"https://www.mycontenturl2.com",
"https://www.mycontenturl3.com",
"https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent =
new AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build();.setNeighboringContentUrls(), yalnızca marka güvenliği için kullanılmasıyla .setContentUrl()'ten farklıdır.