Interfejs Topics API na urządzenia mobilne: omówienie

Dowiedz się więcej o interfejsie Topics API na Androidzie i o krokach związanych z jego wdrażaniem. Możesz też od razu przejść do wdrażania tematów.

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.

Tematy na Androidzie w praktyce

Interfejs Topics API na Androidzie został zaprojektowany tak, aby obsługiwać pakiety SDK do wyświetlania reklam innych firm, które zwykle działają w wielu aplikacjach. Interfejs Topics udostępnia wywołującym go podmiotom przybliżone tematy reklamowe, które mogą zainteresować użytkownika, na podstawie jego aktywności w aplikacjach. Nie korzysta przy tym z identyfikatorów aplikacji. Tematy te mogą uzupełniać informacje kontekstowe związane z aplikacją, która chce wyświetlać reklamę, i można je łączyć, aby pomóc w wybraniu odpowiedniej reklamy dla użytkownika.

W kontekście interfejsu Topics API kupujący i reklamodawcy są zależni od sprzedaży. To po stronie sprzedawcy występuje szeroka obecność w aplikacjach wydawcy i obserwuje on tematy, które interesują użytkowników. Następnie udostępnia te tematy kupującym, aby pomóc im wybierać trafniejsze reklamy. Aby uzyskać tematy, aplikacje i pakiety SDK po stronie sprzedawcy muszą utworzyć profil, obserwując interfejs Topics API przez co najmniej 1 epokę.

Przykłady kodu pokazujące, jak skonfigurować możliwość pobierania tematów na potrzeby reklam opartych na zainteresowaniach, znajdziesz w przewodniku po implementacji interfejsu Topics API.

Integracja tematów według typu firmy

Włączanie reklam opartych na zainteresowaniach za pomocą interfejsu Topics API. Aby zintegrować interfejs Topics API i przygotować się do jego wdrożenia, wykonaj czynności odpowiednie dla Twojego rodzaju działalności w branży technologii reklamowych.

W przypadku wszystkich dostawców technologii reklamowych

Dla dostawców technologii reklamowych po stronie sprzedawcy

  • Zostań obserwatorem, aby utworzyć ślad interfejsu Topics API. Interfejs Topics API udostępnia nowy sygnał, więc musisz zaktualizować pakiet SDK, aby zacząć wywoływać ten interfejs. Aby stale pobierać tematy, pakiet SDK musi wywoływać interfejs API z aplikacji wydawcy co najmniej raz na epokę. Osiągnięcie maksymalnej liczby tematów (3 tematy) do wysyłania z żądaniami reklam zajmuje do 4 epok.
  • W żądaniach reklamy uwzględniaj informacje z interfejsu Topics API. W przypadku każdego żądania reklamy zacznij udostępniać dane interfejsu Topics API partnerom po stronie zakupu. Interfejs Topics API ma uzupełniać inne sygnały (np. sygnały kontekstowe), aby pomagać w znajdowaniu odpowiednich reklam dla danego użytkownika.
  • Współpracuj z partnerami po stronie kupujących nad protokołem udostępniania tematów. Interfejs Topics API wymaga, aby każdy pakiet SDK współpracował z partnerami niższego szczebla w celu uzgodnienia sposobu udostępniania danych interfejsu Topics API.

Dla dostawców technologii reklamowych po stronie kupującego

  • Skontaktuj się z partnerami po stronie sprzedaży, aby potwierdzić ich plany dotyczące obserwowania tematów i ustalenia zasięgu. Aby otrzymywać tematy, dostawcy po stronie sprzedaży muszą wywoływać interfejs Topics API co najmniej raz na epokę.
  • Współpracuj z partnerami po stronie sprzedaży nad protokołem odbierania tematów. Tematy to nowy sygnał, który będzie udostępniany przez partnerów po stronie sprzedaży w ramach żądania reklamy. Kupujący muszą współpracować z partnerami wyższego szczebla, aby ustalić, w jaki sposób będą udostępniane tematy.
  • Uwzględniaj tematy w modelach określania stawek i optymalizacji. Interfejs Topics API ma uzupełniać inne sygnały, np. kontekstowe, aby pomagać w znalezieniu odpowiedniej reklamy dla odwiedzającego.

Jak interfejs API wnioskuje o tematach aplikacji

W przypadku Androida interfejs Topics API określa tematy dla aplikacji na podstawie informacji o niej za pomocą modelu klasyfikacji. W obecnej implementacji interfejs Topics używa nazw aplikacji i pakietów do przypisywania aplikacji tematów, które mogą Cię interesować, ale w przyszłości może to zostać rozszerzone o inne informacje, takie jak opis aplikacji.

Klasyfikator tematów

Tematy zainteresowań są określane na podstawie modelu klasyfikatora, który jest trenowany na publicznie dostępnych informacjach o aplikacjach.

  • Gdy model klasyfikatora jest używany do wnioskowania w celu obliczenia tematów dla danej epoki, zestaw używanych sygnałów pozostaje na urządzeniu. Ten zestaw sygnałów może obejmować zainstalowane lub ostatnio używane aplikacje, a w przyszłości może zostać rozszerzony o inne sygnały.
  • Model V5 został wytrenowany przez Google na podstawie 540 tys. informacji o aplikacjach dostępnych publicznie w sklepach z aplikacjami, takich jak Sklep Google Play, które zostały oznaczone przez ludzi, oraz 17 mln informacji oznaczonych przez modele ML. Model wykorzystuje nazwy aplikacji i nazwy pakietów jako sygnały wejściowe. Deweloperzy mogą go bezpłatnie testować i sprawdzać, do jakich kategorii jest klasyfikowana ich aplikacja.
  • Aplikacja może być przypisana do więcej niż 1 tematu lub do żadnego tematu albo może nie być dodana do historii tematów użytkownika. Jeśli aplikacja jest powiązana z więcej niż 1 tematem w taksonomii, liczba wybranych tematów dla tej aplikacji zostanie ograniczona do 3 najważniejszych.

Aby lepiej zrozumieć, jak działa model klasyfikatora, możesz sprawdzić, jak różne dane aplikacji wpływają na klasyfikację, korzystając z klasyfikatora tematów na Androida w Colab.

Taksonomia

Tematy są wybierane ze wstępnie zdefiniowanej taksonomii open source. Taksonomia jest dostępna publicznie i może ulec zmianie. Sugestie można przesyłać za pomocą przycisku opinii u góry tej strony. Ta taksonomia jest tworzona przez ludzi, dzięki czemu nie zawiera tematów wrażliwych. Będzie ona dostosowana do kategorii reklam, które mogą się wyświetlać w aplikacjach mobilnych na Androida.

Tematy na Androidzie w praktyce

Załóżmy, że użytkownik ma na urządzeniu 7 aplikacji: A, B, C, D, E, F i G. Załóżmy, że klasyfikacja tematyczna aplikacji i pakietów SDK technologii reklamowych w tych aplikacjach jest następująca:

Aplikacja Klasyfikacja tematyczna Pakiet SDK technologii reklamowych
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
P T6 ad-sdk2, ad-sdk3, ad-sdk4
G T7 ad-sdk2

Koniec pierwszego tygodnia: interfejs Topics API generuje 5 najpopularniejszych tematów użytkownika w tej epoce.

Najważniejszy temat Dzwoniący, którzy mogą dowiedzieć się więcej o temacie
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

W drugim tygodniu, jeśli rozmówca w dowolnej aplikacji wywoła interfejs API, zwrócona lista tematów będzie zawierać tylko te tematy, w przypadku których rozmówca znajduje się w kolumnie „Rozmówcy, którzy mogą dowiedzieć się więcej o temacie” dla danej aplikacji i danej epoki.

  • Okno historii uwzględnione w obliczeniach tematów dostępnych dla każdego dzwoniącego obejmuje 3 epoki (czyli 3 tygodnie).
  • Używane są tylko tematy powiązane z aplikacjami, które wywołują interfejs Topics API za pomocą pakietów SDK reklam. Oznacza to, że jeśli aplikacja nie zawiera żadnych pakietów SDK do reklam, które wywołują interfejs Topics API, tematy powiązane z tą aplikacją nie są uwzględniane w puli tematów dostępnych dla pakietów SDK do reklam.
  • Aplikacja może też deklaratywnie zrezygnować z interfejsu Topics API. Tematy powiązane z aplikacjami, które zrezygnowały z udziału w programie, nie będą uwzględniane w cotygodniowym obliczaniu tematów. Ten dokument zostanie zaktualizowany o szczegóły dotyczące implementacji.

Jeśli korzystanie z aplikacji jest niewystarczające, aby platforma mogła wywnioskować 5 tematów, może ona rozważyć opcje takie jak losowe wygenerowanie pozostałych tematów.

Szyfrowanie zwracanych tematów

Zarejestrowane platformy technologii reklamowych, które wywołują interfejs Topics API, muszą też udostępniać klucze szyfrowania, aby zwrócone tematy były czytelne tylko dla wywołującego.

Piaskownica prywatności pobierze te klucze z punktu końcowego udostępnionego przez firmę z branży technologii reklamowych . Zalecamy regularne aktualizowanie kluczy, ale nie rzadziej niż co 6 miesięcy.

W trakcie procesu rejestracji Piaskownica prywatności poprosi dostawców technologii reklamowych o potwierdzenie dostępności udostępnianego przez nich punktu końcowego. Więcej informacji o działaniach wymaganych od obecnych i nowo zarejestrowanych dostawców technologii reklamowych znajdziesz w przewodniku po rejestracji.

Dalsze kroki

Sprawdź szczegóły implementacji i przykłady kodu, które umożliwiają obserwowanie i dostęp do tematów.
Dowiedz się, jak użytkownicy i deweloperzy mogą zarządzać interfejsem Topics API i dostosowywać go do swoich potrzeb i preferencji.

See also

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