Hedefleme

Bu kılavuzda, Google Mobile Ads SDK'sına hedefleme bilgilerinin nasıl sağlanacağı açıklanmaktadır.

Ön koşul

Devam etmeden önce GMA Next-Gen SDK'ı kurun.

RequestConfiguration

RequestConfiguration Her reklam isteğine genel olarak uygulanan hedefleme bilgilerini toplar. Kullanılabilir hedefleme etiketleri için RequestConfiguration.Builder belgelerine bakın.

Oluşturucusunu kullanarak ihtiyacınız olan hedefleme etiketleriyle bir RequestConfiguration nesnesi oluşturun, ardından MobileAds.setRequestConfiguration()'ı çağırarak yapılandırmayı ayarlayın.

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

İlk reklam isteğinden hedefleme etiketlerini uygulamak için SDK başlatma sırasında istek yapılandırmasını sağlayın:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

CoroutineScope(Dispatchers.IO).launch {
  // Initialize GMA Next-Gen SDK on a background thread.
  MobileAds.initialize(
    this@MainActivity,
    InitializationConfig
      // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
      .Builder("SAMPLE_APP_ID")
      .setRequestConfiguration(requestConfiguration)
      .build()
  ) {
    // Adapter initialization is complete.
  }
  // Other methods on MobileAds can now be called.
}

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
    .Builder()
    // Set your targeting tags.
    .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();

new Thread(
    () -> {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
          this,
          // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
          new InitializationConfig
              .Builder("SAMPLE_APP_ID")
              .setRequestConfiguration(requestConfiguration)
              .build(),
          initializationStatus -> {
            // Adapter initialization is complete.
          });
      // Other methods on MobileAds can now be called.
    })
    .start();

Yaş deneyini ayarlama

Çocuklar ve gençler ile ilgili geçerli gizlilikle ilgili yönetmeliklere uygunluğunuzu yönetmenize yardımcı olmak için GMA Next-Gen SDK, yaşa uygunluk ayarı sunar. Yaş değerlendirmesi ayarı, GMA Next-Gen SDK için çocuklara, gençlere veya belirtilmemiş bir yaşa yönelik belirli reklam sunma korumalarının uygulanıp uygulanmayacağını belirtmenize olanak tanır.

RequestConfiguration.Builder API ile setAgeRestrictedTreatment() yöntemini kullanarak yaşa göre değerlendirme ayarlayabilirsiniz.

Aşağıdaki örnekte, reklam isteklerinin çocuk yaştakilere yönelik olarak değerlendirilmesi gerektiği belirtilmektedir:

Kotlin

val requestConfiguration =
  RequestConfiguration.Builder()
    // Indicate that ad requests should have child age treatment.
    .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    new RequestConfiguration.Builder()
        // Indicate that ad requests should have child age treatment.
        .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Gençlere veya belirtilmemiş bir yaş değerlendirmesine yönelik olduğunu belirtmek için CHILD ayarını aşağıdakilerle değiştirin:

  • TEEN
  • UNSPECIFIED

Bu ayar kullanılırken GMA Next-Gen SDK, reklam isteklerine tfat parametresini ekler. Yasal ve düzenleyici yükümlülüklerinize göre kullanıcılarınız için geçerli olan uygun yaş değerlendirmesini belirlemek üzere yasal danışmanınıza başvurun. Daha fazla bilgi için Reklam isteklerini yaşa göre değerlendirilmesi için etiketleme başlıklı makaleyi inceleyin.

TFCD ve TFUA'dan yaş değerlendirmesine 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 karşılıkları 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
Değer atanmadı .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
Değer atanmadı .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.

Çocuklara yönelik ayar

Çocukların Çevrimiçi Gizliliğini Koruma Yasası (COPPA) uyarınca "çocuklara yönelik olarak değerlendirme için etiketleme" adlı bir ayar bulunur. Bu etiketi ayarlayarak, bu bildirimin doğru olduğunu ve uygulama sahibi adına hareket etmeye yetkili olduğunuzu onaylarsınız. Bu ayarın kötüye kullanılmasının Google Hesabınızın feshedilmesine neden olabileceğini anlıyorsunuz.

Uygulama geliştiricisi olarak, reklam isteğinde bulunduğunuzda 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ı setTagForChildDirectedTreatment() üzerinden uygulayabilirsiniz:

  • İçeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğinizi belirtmek için setTagForChildDirectedTreatment işlevini TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE ile birlikte çağırın. Bu, Android reklam kimliğinin (AAID) iletilmesini engeller.

  • İçeriğinizin COPPA kapsamında çocuklara yönelik olarak değerlendirilmesini istemediğinizi belirtmek için setTagForChildDirectedTreatment ile TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE işlevini çağırın.

  • Reklam isteklerinde içeriğinizin COPPA ile ilgili olarak nasıl değerlendirilmesini istediğinizi belirtmek istemiyorsanız setTagForChildDirectedTreatment ile TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED çağrısı yapın.

Aşağıdaki örnek, içeriğinizin COPPA amaçları doğrultusunda çocuklara yönelik olarak değerlendirilmesini istediğinizi gösterir:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Reklam isteklerinizi, Avrupa Ekonomik Alanı'nda (AEA) bulunan, reşit olma yaşının altındaki kullanıcılara yönelik olarak değerlendirilmesi için 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 de olabileceğini unutmayın. Avrupa Birliği yönergelerini inceleyin ve kendi hukuk danışmanınıza başvurun. Google araçlarının, uygunluk sürecini kolaylaştırmak için tasarlandığını ve yayıncının hukuki yükümlülüklerini azaltmadığını lütfen 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 altındaki kullanıcılar iç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. Ayrıca 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 ayarlar gibi, RequestConfiguration.Builder içinde TFUA parametresini ayarlamak için bir yöntem vardır: setTagForUnderAgeOfConsent(), aşağıdaki seçeneklerle.

  • 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() işlevini TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE ile birlikte çağırın. Bu, 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 olmaması için setTagForUnderAgeOfConsent() işlevini TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE ile ç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 ifade etmek için setTagForUnderAgeOfConsent() ile TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED işlevini çağırın.

Aşağıdaki örnek, reklam isteklerinize TFUA'nın dahil edilmesini istediğinizi gösterir:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Çocuklara yönelik olarak değerlendirme ayarını etkinleştiren etiketler ve setTagForUnderAgeOfConsent() aynı anda true olarak ayarlanmamalıdır. Bu şekilde ayarlanırlarsa çocuklara yönelik olma ayarı öncelikli olur.

Reklam içeriğini filtreleme

Google Play'in Uygunsuz Reklam Politikası'na (reklamdaki ilişkili teklifler dahil) uymak için, uygulamanızda gösterilen tüm reklamlar ve bunlarla ilişkili teklifler, içerik kendi başına Google Play'in politikalarına uygun olsa bile 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 belirleyebilirsiniz.

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 bu düzeyde veya daha düşüktür. Bu ağ ekstrasının olası değerleri 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 atamasına karşılık gelmesi gerektiğini belirtmek için bir RequestConfiguration nesnesi yapılandırır:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setMaxAdContentRating(MaxAdContentRating.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)

Publisher Privacy Treatment (PPT) API, uygulamaların setPublisherPrivacyPersonalizationState() yöntemini kullanarak tüm reklam istekleri için reklam kişiselleştirmeyi devre dışı bırakıp bırakmayacağını belirtmesine olanak tanıyan isteğe bağlı bir araçtır. Bu özellik kullanılırken oturumun geri kalanında tüm gelecekteki reklam isteklerine bir Publisher Privacy Treatment (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 devre dışı bırakır:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Reklam isteği

AdRequest nesnesi, reklam isteğiyle gönderilecek hedefleme bilgilerini toplar.

Ağ ekstraları ekleme

Ağ ekstraları, bir reklam isteğiyle gönderilen ve tek bir reklam kaynağına özgü ek ayrıntılardır.

Aşağıdaki kod snippet'i, Google'a collapsible değerine sahip bottom adlı ek bir parametre anahtarı ayarlar:

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
  NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build()
NativeAdLoader.load(adRequest, adCallback)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
  new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build();
NativeAdLoader.load(adRequest, adCallback);

Ö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 = AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build()

Java

// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build();

Bir anahtar için birden çok değeri dize listesi olarak iletebilirsiniz. Örneğin, yalnızca 25 yaşındakiler yerine yirmili yaşlarının ortasındaki kişileri hedeflemek için.

Kotlin

.putCustomTargeting("age", listOf("24", "25", "26"))

Java

.putCustomTargeting("age", Arrays.asList("24", "25", "26"));

Kategori hariç tutmaları

Aşağıdaki yöntemi kullanarak isteğe yuva düzeyinde bir kategori hariç tutma düzeyi ekleyebilirsiniz: addCategoryExclusion()

Kotlin

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Java

// Example: Exclude "automobile" and "boat" categories.
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

Android API Demo uygulamasında kategori hariç tutmalarının uygulanması için Ad Manager Kategori Hariç Tutmaları örneğini inceleyin.

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ınlama kontrollerinde kullanılmak üzere yayıncı tarafından sağlanan tanımlayıcı (PPID) ayarlayabilirsiniz.

PPID'yi ayarlama örneğini aşağıda görebilirsiniz:

Kotlin

val adRequest = AdRequest.Builder("AD_UNIT_ID")
  .setPublisherProvidedId("AB123456789")
  .build()

Java

AdRequest adRequest = new AdRequest.Builder("AD_UNIT_ID")
    .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çeriğe dayalı verileri yayıncı tarafından sağlanan sinyaller (PPS) olarak gönderebilirsiniz. PPS ile, standart sınıflandırmaları kullanarak ve kullanıcı tanımlayıcılarını paylaşmanıza gerek kalmadan, kitle özelliklerinizi tüm işlem türlerindeki teklif verenlerle paylaşarak kullanıcı verilerinizi programatik para kazanmayı iyileştirmek için kullanabilirsiniz. Kitle özellikleriniz davranışa ve ilgi alanına dayalı verileri (IAB Kitle Sınıflandırması 1.1) ve bağlama dayalı verileri (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 = AdRequest.Builder("AD_UNIT_ID")
  .setGoogleExtrasBundle(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", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
  .setGoogleExtrasBundle(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 = AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com")
val request = builder.build()

Java

AdRequest.Builder builder = new AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com");
AdRequest 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 = AdRequest.Builder("AD_UNIT_ID")
  .setNeighboringContentUrls(urls)
  .build()

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");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
    .setNeighboringContentUrls(urls)
    .build();

.setNeighboringContentUrls(), yalnızca marka güvenliği için kullanılması bakımından .setContentUrl()'dan farklıdır.