타겟팅

이 가이드에서는 Google 모바일 광고 SDK에 타겟팅 정보를 제공하는 방법을 설명합니다.

실제 사용 예를 보려면 Android API 데모 앱을 다운로드하세요.

API 데모 다운로드

기본 요건

RequestConfiguration

RequestConfiguration는 모든 광고 요청에 전역적으로 적용되는 타겟팅 정보를 수집합니다. 사용 가능한 타겟팅 태그는 RequestConfiguration.Builder 문서를 참고하세요.

요청 구성을 업데이트하려면 기존 구성에서 빌더를 가져와 원하는 대로 업데이트하고 다음과 같이 설정하세요.

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

자바

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

아동 대상 설정

아동 온라인 개인 정보 보호법(COPPA)의 취지에 따라 '아동 대상 서비스로 취급용 태그'라는 설정을 마련했습니다. 이 태그를 설정하면 이 알림이 정확하며 앱의 소유자를 대행할 권한이 있음을 확인하게 됩니다. 이 설정을 악용하면 Google 계정이 해지될 수 있습니다.

앱 개발자는 광고를 요청할 때 Google에서 콘텐츠를 아동용으로 처리할지 여부를 알릴 수 있습니다. 콘텐츠를 아동용으로 처리하도록 지정하는 경우 Google에서 해당 광고 요청에 대한 관심 기반 광고 및 리마케팅 광고 사용이 중지되도록 조치합니다.

setTagForChildDirectedTreatment():

  • COPPA에 따라 콘텐츠를 아동 대상으로 처리하도록 지정하려면 TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEsetTagForChildDirectedTreatment를 호출합니다. 이렇게 하면 Android 광고 ID(AAID)가 전송되지 않습니다.

  • COPPA에 따라 콘텐츠를 아동 대상으로 처리하지 않도록 지정하려면 TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEsetTagForChildDirectedTreatment를 호출합니다.

  • 광고 요청에서 COPPA에 따른 콘텐츠 취급 방법을 지정하지 않으려면 TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDsetTagForChildDirectedTreatment를 호출합니다.

다음은 COPPA에 따라 콘텐츠를 아동 대상으로 처리하도록 지정하는 방법의 예입니다.

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

자바

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

유럽 경제 지역 (EEA)에 거주하는 동의 연령 미만의 사용자를 대상으로 하는 서비스의 경우 광고 요청에 이를 표시할 수 있습니다. 이 기능은 개인 정보 보호법 (GDPR) 준수를 지원하기 위해 도입되었습니다. GDPR에 의거한 다른 법적 의무가 있을 수 있습니다. 유럽연합 지침을 검토하고 변호사와 상의하시기 바랍니다. Google 도구는 규정 준수를 지원하기 위해 설계되었으며 Google 도구를 사용한다고 해서 게시자의 법적 의무가 면제되지 않으니 유의하시기 바랍니다. GDPR이 게시자에게 미치는 영향에 대해 자세히 알아보기

이 기능을 사용하면 TFUA(동의 연령 미만의 유럽 사용자가 대상임을 나타내는 태그) 매개변수가 광고 요청에 포함됩니다. 이 매개변수를 사용하면 모든 광고 요청에 대해 리마케팅을 포함한 개인 맞춤 광고가 사용중지됩니다. 또한 광고 측정 픽셀 및 서드 파티 광고 서버와 같은 서드 파티 광고 업체에 대한 요청도 중지됩니다.

아동 대상 설정과 마찬가지로 RequestConfiguration.Builder에는 다음 옵션과 함께 TFUA 매개변수 setTagForUnderAgeOfConsent(), 를 설정할 수 있는 메서드가 있습니다.

  • 광고 요청이 유럽 경제 지역 (EEA)에 거주하는 동의 연령 미만의 사용자를 대상으로 하는 요청으로 취급되도록 하려는 경우, 이를 나타내기 위해 TAG_FOR_UNDER_AGE_OF_CONSENT_TRUEsetTagForUnderAgeOfConsent()를 호출합니다. 이렇게 하면 Android 광고 ID(AAID)도 전송되지 않습니다.

  • 광고 요청이 유럽 경제 지역 (EEA)에 거주하는 동의 연령 미만의 사용자를 대상으로 하는 요청으로 취급되지 않도록 하려는 경우, 이를 나타내기 위해 TAG_FOR_UNDER_AGE_OF_CONSENT_FALSEsetTagForUnderAgeOfConsent()를 호출합니다.

  • 광고 요청이 유럽 경제 지역 (EEA)에 거주하는 동의 연령 미만의 사용자를 대상으로 하는 요청으로 취급되어야 하는지 여부를 지정하지 않으려는 경우, 이를 나타내기 위해 TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDsetTagForUnderAgeOfConsent()를 호출합니다.

다음은 광고 요청에 TFUA가 포함되도록 지정하는 방법의 예입니다.

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

자바

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

아동 대상 설정setTagForUnderAgeOfConsent()를 사용하는 태그를 동시에 true로 설정하면 안 됩니다. 이 경우 아동 대상 설정이 우선 적용됩니다.

광고 콘텐츠 필터링

광고 내에 관련 혜택이 포함된 Google Play의 부적절한 광고 정책을 준수하려면 콘텐츠 자체가 Google Play 정책을 준수하더라도 앱 내에 표시되는 모든 광고 및 관련 혜택이 앱의 콘텐츠 등급에 적합해야 합니다.

광고 콘텐츠 등급 한도와 같은 도구를 사용하면 사용자에게 게재되는 광고의 콘텐츠를 더 세부적으로 관리할 수 있습니다. 플랫폼 정책을 준수하도록 콘텐츠 등급 한도를 설정할 수 있습니다.

앱에서 setMaxAdContentRating 메서드를 사용하여 광고 요청에 대해 광고 콘텐츠 등급 한도를 설정할 수 있습니다. 광고 콘텐츠 등급 한도가 설정된 경우 콘텐츠 등급이 설정된 한도 이하인 AdMob 광고가 게재됩니다. 이 네트워크에 대해 가능한 값은 디지털 콘텐츠 라벨 분류에 따라 정해지며, 다음 중 하나여야 합니다.

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

다음 코드는 반환된 광고 콘텐츠의 디지털 콘텐츠 라벨 지정이 G 이하가 되도록 RequestConfiguration 객체를 구성합니다.

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

자바

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

다음에 대해 자세히 알아보기

게시자 개인 정보 보호 처리 (베타)

게시자 개인 정보 보호 처리 (PPT) API는 앱이 setPublisherPrivacyPersonalizationState() 메서드를 사용하여 모든 광고 요청에 대해 광고 개인 최적화를 사용 중지할지 여부를 나타낼 수 있는 선택적 도구입니다. 이 기능을 사용하면 게시자 개인 정보 보호 처리 (PPT) 매개변수가 세션의 남은 시간 동안 향후의 모든 광고 요청에 포함됩니다.

기본적으로 Google에 광고 요청을 보내면 개인 맞춤 광고가 게재됩니다. 다음 코드는 모든 광고 요청에 대해 광고 개인 최적화를 사용 중지합니다.

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

자바

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

광고 요청

AdManagerAdRequest 객체는 광고 요청과 함께 전송되는 타겟팅 정보를 수집합니다.

맞춤 타겟팅

AdManagerAdRequest.Builder.addCustomTargeting()을 통해 맞춤 키-값 쌍을 전달하여 Google Ad Manager 캠페인 (광고 항목)을 타겟팅할 수 있습니다.

Kotlin

// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25")
  .build()

자바

// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25")
    .build();

키의 여러 값을 문자열 목록으로 전달할 수 있습니다. 예를 들어 만 25세만이 아니라 20대 중반의 잠재고객을 모두 타겟팅하려는 경우 다음을 전달합니다.

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))

Android API 데모 앱에서 맞춤 타겟팅을 구현하려면 Ad Manager 맞춤 타겟팅 예를 참고하세요.

카테고리 제외

AdManagerAdRequest.Builder에서 제공하는 addCategoryExclusion() 메서드를 사용하여 요청에 슬롯 수준 카테고리 제외 항목 수준을 추가할 수 있습니다.

Kotlin

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

자바

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

Android API 데모 앱에서 카테고리 제외를 구현하려면 Ad Manager 카테고리 제외 예를 참고하세요.

게시자 제공 식별자

여러 기기에서 최대 게재빈도 설정, 잠재고객 분류 및 타겟팅, 순차 광고 로테이션과 같은 잠재고객 기반 광고 게재 관리 기능에 사용할 게시자 제공 식별자 (PPID)를 설정할 수 있습니다.

다음은 PPID 설정의 예입니다.

Kotlin

val adRequest = AdManagerAdRequest.Builder()
  .setPublisherProvidedId("AB123456789")
  .build()

자바

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setPublisherProvidedId("AB123456789")
    .build();

Android API 데모 앱에서 게시자 제공 식별자 (PPID)를 구현하려면 Ad Manager PPID 예를 참고하세요.

게시자 제공 신호

광고 요청에서 잠재고객 및 문맥 데이터를 게시자 제공 신호(PPS)로 전송할 수 있습니다. PPS를 사용하면 사용자 식별자를 공유하지 않고도 표준 분류를 사용하여 모든 거래 유형의 입찰자에게 잠재고객 특성을 전달하여 사용자 데이터를 통해 프로그래매틱 수익 창출을 개선할 수 있습니다. 잠재고객 특성에는 행동 및 관심분야 기반 데이터 (IAB 잠재고객 분류 1.1)와 문맥 데이터 (IAB 콘텐츠 분류 2.2)가 포함될 수 있습니다.

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()

자바

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()

콘텐츠 URL

콘텐츠 타겟팅 광고 및 브랜드 안전을 위해 콘텐츠 URL을 제공하려면 AdManagerAdRequest를 빌드할 때 setContentUrl()를 호출하세요.

Kotlin

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()

자바

AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();

브랜드 안전성 (베타)

다양한 잠재고객을 위한 동적 콘텐츠를 표시하는 애플리케이션에서 AdManagerAdRequest를 구성할 때 setNeighboringContentUrls() 메서드를 사용하여 짧은 URL 목록을 제공할 수 있습니다.

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()

자바

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();

.setNeighboringContentUrls()은 브랜드 안전에만 사용된다는 점에서 .setContentUrl()과 다릅니다.