모바일용 Topics API: 개요

Android의 Topics API와 이를 구현하는 단계에 대해 알아봅니다. 주제 구현으로 바로 이동할 수도 있습니다.

How the Topics API works

The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.

Key concepts

  • A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
  • A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
  • A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
  • An epoch is a period of topic computation, which defaults to one week.
  • A taxonomy is a hierarchical list of categories, which includes, for example, such categories as /Arts & Entertainment/Music & Audio/Soul & R&B and /Business & Industrial/Business Services/Corporate Events.
  • Topics are derived using a classifier model that maps user activity to zero or more topics.

Topics API flow core steps

The Topics API lifecycle has three main steps:

  • Observe user activity, such as when they visit the web page https://cats.example/tabby/index.html or download the app cats.
  • Derive topics from user activity, for example /Pets & Animals/Pets/Cats.
  • Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).

Observe topics

Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.

  • Suppose there are two Topics API callers: A and B.
  • There are two contexts:
    • Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic Home & Garden.
    • Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic Sports/Tennis.
  • Both caller A and B are present in the context of Greenhouse.
  • Only the caller B is present in the context of Tennis exercises.
  • Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
  • The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic Home & Garden as observed by both callers A and B.
  • The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic Sports/Tennis as observed by the caller B.
  • By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
  • Later, when the caller B makes another Topics API call, it can get either Home & Garden or Sports/Tennis topic (or, with a 5% chance, a random topic) for this user in the response array.
  • Caller A can only access the topic Home & Garden, as it has never observed the topic Sports/Tennis. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.
Diagram showing that the Topics API only marks the topics as observed if the callers has presence in the context.
The Topics API marks the topics observed only by the callers that have presence in the context of these topics. The callers will only be able to access the topics they have observed.

Derive topics

Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.

Caller accesses user's topics of interest

The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.

Epochs

The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.

Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.

Android의 주제 실습

Android의 Topics API는 일반적으로 여러 앱에서 작동하는 서드 파티 광고 SDK를 지원하도록 설계되었습니다. Topics는 교차 앱 식별자를 사용하지 않고 사용자의 앱 사용에 따라 관심 있는 대략적인 광고 주제를 호출자에게 제공합니다. 이러한 주제는 광고를 표시하려는 앱과 관련된 문맥 정보를 보완하는 데 사용할 수 있으며 사용자에게 적합한 광고를 선택하는 데 도움이 되도록 결합될 수 있습니다.

Topics API의 맥락에서 구매자와 광고주는 판매 측에 의존합니다. 판매자는 게시자의 앱에 광고를 광범위하게 게재하고 사용자의 주제를 관찰한 후 구매자가 더 관련성 높은 광고를 선택하는 데 도움이 되도록 주제를 구매자와 공유합니다. 주제를 가져오려면 판매 측 앱 및 SDK에서 Topics API를 최소 1 에포크 동안 관찰하여 공간을 설정해야 합니다.

관심분야 기반 광고를 위해 주제를 가져오는 기능을 설정하는 방법을 보여주는 코드 샘플은 Topics API 구현 가이드를 참고하세요.

비즈니스 유형별 주제 통합

Topics API를 사용하여 IBA (관심 기반 광고)를 사용 설정합니다. 광고 기술 비즈니스 유형에 따라 단계를 따라 Topics API를 통합하고 출시를 준비하세요.

모든 광고 기술

  • 주제 분류를 검토하고 의견을 제공합니다.
  • Topics API 샘플 앱을 실험하여 기기 내 분류 기준에서 반환되는 주제 데이터를 확인합니다.
  • Topics API 호출을 시작하도록 앱 및 SDK 흐름을 업데이트합니다.
  • 광고 요청에서 주제 전송을 시작하도록 프로토콜을 업데이트합니다.
  • 개인 정보 보호 샌드박스에 광고 기술을 등록합니다.

판매 측 광고 기술

  • 관찰자가 되어 Topics API 공간을 설정합니다. Topics API는 새로운 신호를 제공하므로 Topics API 호출을 시작하려면 SDK를 업데이트해야 합니다. 주제를 일관되게 가져오려면 SDK가 게시자 앱에서 에포크당 한 번 이상 API를 호출해야 합니다. 광고 요청과 함께 전송할 최대 주제 수 (주제 3개)를 가져오려면 최대 4개의 에포크가 필요합니다.
  • 광고 요청에 Topics API 정보를 포함합니다. 각 광고 요청에서 구매 측 파트너와 Topics API 데이터를 공유하기 시작합니다. Topics API는 특정 방문자에게 적절한 광고를 찾는 데 도움이 되도록 다른 신호 (예: 문맥 신호)를 보완할 계획입니다.
  • 구매 측 파트너와 주제를 공유하기 위한 프로토콜을 공동작업합니다. Topics API를 사용하려면 각 SDK가 다운스트림 파트너와 협력하여 Topics API 데이터의 공유 방식에 동의해야 합니다.

구매 측 광고 기술

  • 판매 측 파트너와 소통하여 주제를 관찰하고 공간을 설정하려는 계획을 확인합니다. 주제를 수신하려면 판매 측 제공업체가 에포크당 한 번 이상 Topics API를 호출해야 합니다.
  • 판매 측 파트너로부터 주제를 받기 위한 프로토콜을 공동작업합니다. 주제는 판매 측 파트너가 광고 요청의 일부로 공유할 새로운 신호입니다. 구매 측 소비자는 주제 공유 방식에 관해 업스트림 파트너와 협력해야 합니다.
  • 입찰 및 최적화 모델에서 주제를 통합합니다. Topics API는 방문자에게 적절한 광고를 찾는 데 도움이 되도록 문맥과 같은 다른 신호를 보완할 것으로 예상됩니다.

API가 앱의 주제를 추론하는 방법

Android에서 Topics API는 분류 기준 모델을 사용하여 앱 정보를 기반으로 앱의 주제를 추론합니다. 현재 구현에서는 Topics가 앱 및 패키지 이름을 사용하여 관심 주제를 앱에 할당하지만 나중에 앱 설명과 같은 다른 정보를 포함하도록 확장될 수 있습니다.

주제 분류 기준

관심 주제는 공개적으로 사용 가능한 앱 정보에 관해 학습된 분류 기준 모델에서 파생됩니다.

  • 주어진 에포크 동안 주제를 계산하는 추론에 사용되는 분류 기준 모델을 사용하면 사용된 신호 집합이 기기에 유지됩니다. 이러한 신호 집합에는 설치되었거나 최근에 사용된 앱이 포함될 수 있으며 나중에 다른 신호가 포함되도록 확장될 수 있습니다.
  • V5 모델은 Google Play 스토어와 같은 앱 스토어에서 공개적으로 사용 가능한 앱 정보 중 사람의 라벨이 지정된 54만 개와 ML 라벨이 지정된 1,700만 개를 바탕으로 Google에서 학습했습니다. 이 모델은 앱 이름과 패키지 이름을 입력 신호로 사용하며 앱 개발자가 앱이 어떤 주제로 분류되는지 테스트하고 확인할 수 있도록 무료로 제공됩니다.
  • 앱이 두 개 이상의 주제에 매핑되거나, 주제에 매핑되지 않거나, 사용자의 주제 기록에 추가되지 않을 수 있습니다. 앱이 분류에서 2개 이상의 주제에 매핑되는 경우 이 앱에 선택된 주제 수는 상위 3개로 제한됩니다.

분류 기준 모델의 작동 방식을 더 잘 이해하려면 Android Topics Classifier Colab을 사용하여 다양한 앱 데이터가 분류에 미치는 영향을 테스트해 보세요.

분류

주제는 사전 정의된 오픈소스 분류에서 선택합니다. 분류는 공개적으로 제공되며 변경될 수 있습니다. 이 페이지 상단의 의견 보내기 버튼을 사용하여 의견을 제출해 주세요. 이 분류는 민감한 주제가 분류에 포함되지 않도록 사람이 선별합니다. 이 분류는 Android의 모바일 앱에 표시될 수 있는 광고 카테고리에 맞게 조정됩니다.

Android 주제 실습

사용자가 기기에 앱을 7개(A, B, C, D, E, F, G) 설치했다고 가정해 보겠습니다. 앱 및 이러한 앱의 광고 기술 SDK의 주제 분류는 다음과 같다고 가정해 보겠습니다.

주제 분류 광고 기술 SDK
A T1, T5 ad-sdk1, ad-sdk2
B T2 ad-sdk2
C T3, T6 ad-sdk3, ad-sdk4
D T1, T4 ad-sdk1
E T5 ad-sdk4, ad-sdk5
F T6 ad-sdk2, ad-sdk3, ad-sdk4
G T7 ad-sdk2

1주 차: Topics API가 이 에포크 동안 사용자의 상위 5개 주제를 생성합니다.

상위 주제 주제에 관해 알아볼 수 있는 호출자
T1 ad-sdk1, ad-sdk2
T2 ad-sdk2
T3 ad-sdk3, ad-sdk4
T4 ad-sdk1
T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5

2주 차에 앱의 호출자가 API를 호출하면 반환되는 주제 목록에는 이 에포크 동안 이 앱에 관한 이 주제의 '주제에 관해 알아볼 수 있는 호출자' 열에 호출자가 있는 주제만 포함됩니다.

  • 각 호출자가 사용할 수 있는 주제 계산에 포함된 기록 기간은 3 에포크 (또는 3주)입니다.
  • 광고 SDK를 통해 Topics API를 호출하는 앱과 연결된 주제만 사용됩니다. 즉, 앱이 Topics API를 호출하는 광고 SDK를 포함하지 않으면 앱과 연결된 주제는 광고 SDK에서 액세스할 수 있는 주제 풀에 기여하지 않습니다.
  • 앱은 Topics API를 선언적으로 선택 해제할 수도 있습니다. 선택 해제된 앱과 연결된 주제는 주간 주제 계산에 영향을 주지 않습니다. 이 문서는 관련 구현 세부정보를 포함하도록 업데이트될 예정입니다.

플랫폼에서 5개 주제를 추론하기에 충분한 앱 사용이 없으면 플랫폼은 나머지 주제를 무작위로 생성하는 등의 옵션을 고려할 수 있습니다.

반환된 주제 암호화

Topics API를 호출하는 등록된 광고 기술 플랫폼은 반환된 주제를 호출자만 읽을 수 있도록 암호화 키도 제공해야 합니다.

개인 정보 보호 샌드박스는 광고 기술에서 제공한 엔드포인트에서 이러한 키를 가져옵니다 . 키는 정기적으로 업데이트하는 것이 좋으며, 최소 6개월마다 업데이트해야 합니다.

개인 정보 보호 샌드박스는 등록 프로세스 중에 광고 기술이 제공하는 엔드포인트의 가용성을 확인하도록 요청합니다. 기존 광고 기술과 새로 등록된 광고 기술에 필요한 조치에 관한 자세한 내용은 등록 가이드를 참고하세요.

Next steps

Check out implementation details and code samples for callers to observe and access topics.
Learn how users and developers can manage and customize the Topics API to suit user's preferences and needs.

See also

Check out our resources to better understand the Topics API on Android.