Kierowanie

Z tego przewodnika dowiesz się, jak przekazywać informacje o kierowaniu do pakietu SDK do reklam mobilnych Google.

Aby zobaczyć działający przykład, pobierz aplikację Android API Demo.

Pobierz wersję demonstracyjną interfejsu API

Warunek wstępny

Zanim przejdziesz dalej, skonfiguruj Google Mobile Ads SDK (Legacy).

RequestConfiguration

RequestConfiguration zbiera informacje o kierowaniu, które są stosowane globalnie do każdego żądania reklamy. Dostępne tagi kierowania znajdziesz w dokumentacji RequestConfiguration.Builder.

Aby zaktualizować konfigurację żądania, pobierz kreator z istniejącej konfiguracji, wprowadź wybrane zmiany i ustaw go w ten sposób:

Kotlin

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

Java

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

Aby mieć pewność, że wszystkie żądania reklamy będą uwzględniać zmiany w konfiguracji żądań, ustaw konfigurację żądań przed inicjalizacją Google Mobile Ads SDK (Legacy).

Ustawianie traktowania treści z uwzględnieniem wieku

Aby ułatwić Ci zachowanie zgodności z obowiązującymi przepisami dotyczącymi prywatności dzieci i nastolatków, Google Mobile Ads SDK (Legacy) udostępnia ustawienie traktowania ze względu na wiek. Ustawienie traktowania ze względu na wiek pozwala określić, czy usługa Google Mobile Ads SDK (Legacy) ma stosować określone zabezpieczenia dotyczące wyświetlania reklam dzieciom, nastolatkom lub osobom w nieokreślonym wieku.

Możesz ustawić traktowanie treści z uwzględnieniem wieku za pomocą metody setAgeRestrictedTreatment() w interfejsie API RequestConfiguration.Builder.

Poniższy przykład wskazuje, że żądania reklamy powinny być traktowane jako treści skierowane do dzieci:

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

Aby wskazać, że treści są skierowane do nastolatków lub że nie określono wieku, zastąp ustawienie CHILD tym:

  • TEEN
  • UNSPECIFIED

Gdy używasz tego ustawienia, Google Mobile Ads SDK (Legacy) uwzględnia w żądaniach reklamy parametr tfat. Skonsultuj się z doradcą prawnym, aby określić ustawienia dotyczące traktowania swoich użytkowników ze względu na wiek zgodnie z obowiązującymi Cię wymogami prawnymi i regulacyjnymi. Więcej informacji znajdziesz w artykule Tagowanie żądania reklamy jako wymagającego traktowania z uwzględnieniem wieku.

Przejście z TFCD i TFUA na traktowanie treści z uwzględnieniem wieku

Ustawienie dotyczące traktowania z uwzględnieniem wieku zastępuje wycofane ustawienia .setTagForChildDirectedTreatment() (TFCD) i .setTagForUnderAgeOfConsent() (TFUA).

W tabeli poniżej znajdziesz ustawienia TFCD i TFUA oraz ich odpowiedniki dotyczące traktowania treści z uwzględnieniem wieku:

TFCD

TFCD Ograniczenia wiekowe
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE AgeRestrictedTreatment.CHILD
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE AgeRestrictedTreatment.UNSPECIFIED
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED AgeRestrictedTreatment.UNSPECIFIED
Nie przypisano wartości .setTagForChildDirectedTreatment() AgeRestrictedTreatment.UNSPECIFIED
Brak odpowiednika AgeRestrictedTreatment.TEEN

TFUA

TFUA Ograniczenia wiekowe
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
Nie przypisano wartości .setTagForUnderAgeOfConsent() AgeRestrictedTreatment.UNSPECIFIED
Brak odpowiednika AgeRestrictedTreatment.TEEN

Interakcje tagu TFAT z tagami TFCD i TFUA

Jeśli skonfigurujesz ustawienie dotyczące traktowania z uwzględnieniem wieku oraz ustawienia TFCD lub TFUA, Google zastosuje najbardziej zachowawcze traktowanie.

Przekazywanie informacji o traktowaniu treści z uwzględnieniem wieku w zapośredniczeniu

Jeśli ustawisz traktowanie z uwzględnieniem wieku za pomocą Google Mobile Ads SDK (Legacy), adaptery zapośredniczenia będą przekazywać sygnał traktowania z uwzględnieniem wieku do pakietów SDK innych firm, które uczestniczą w zapośredniczeniu.

W tabeli poniżej znajdziesz wersje adaptera zapośredniczenia, które obsługują przekazywanie sygnału dotyczącego traktowania treści jako przeznaczonych dla osób pełnoletnich do pakietu SDK zewnętrznego źródła reklam objętego zapośredniczeniem:

Nazwa adaptera zapośredniczenia Najwcześniejsza obsługiwana wersja
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

Ustawienie dotyczące treści skierowanych do dzieci

Na potrzeby amerykańskiej ustawy o ochronie prywatności dzieci w internecie (Children's Online Privacy Protection Act, COPPA) istnieje ustawienie „tagowanie jako skierowane do dzieci”. Ustawiając ten tag, potwierdzasz, że to powiadomienie jest poprawne i że posiadasz uprawnienia do działania w imieniu właściciela aplikacji. Rozumiesz, że nadużywanie tego ustawienia może być przyczyną zamknięcia Twojego konta Google.

Deweloper aplikacji może wskazać w żądaniu reklamy, czy Google ma traktować treści w tej aplikacji jako skierowane do dzieci. Jeśli wskażesz, że chcesz, aby Google traktowało Twoje treści jako skierowane do dzieci, podejmiemy działania, aby wyłączyć reklamy oparte na zainteresowaniach i reklamy remarketingowe w przypadku tego żądania reklamy.

Ustawienie „skierowane do dzieci” możesz zastosować w setTagForChildDirectedTreatment():

  • Wywołaj setTagForChildDirectedTreatment z TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE, aby wskazać, że chcesz, aby Twoje treści były traktowane jako skierowane do dzieci zgodnie z ustawą COPPA. Zapobiega to przesyłaniu identyfikatora wyświetlania reklam na Androida (AAID).

  • Wywołaj setTagForChildDirectedTreatment z TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE, aby wskazać, że nie chcesz, aby Twoje treści były traktowane jako skierowane do dzieci na potrzeby ustawy COPPA.

  • Jeśli nie chcesz wskazywać w żądaniach reklamy, jak mają być traktowane Twoje treści zgodnie z ustawą COPPA, wywołaj funkcję setTagForChildDirectedTreatment z parametrem TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED.

Poniższy przykład wskazuje, że chcesz, aby Twoje treści były traktowane jako skierowane do dzieci zgodnie z ustawą COPPA:

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

Możesz oznaczyć swoje żądania reklamy, aby zostały objęte ograniczonym przetwarzaniem danych w przypadku użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku świadomego wyrażenia zgody. Ta funkcja ma na celu ułatwienie zachowania zgodności z Ogólnym rozporządzeniem o ochronie danych (RODO). RODO może nakładać na Ciebie także inne obowiązki prawne. Zapoznaj się z wytycznymi Unii Europejskiej i skonsultuj się ze swoim prawnikiem. Narzędzia Google pomagają w przestrzeganiu przepisów, ale nie zwalniają żadnego wydawcy z jego zobowiązań wobec prawa. Więcej informacji o tym, jak RODO wpływa na działalność wydawców

Gdy używasz tej funkcji, w żądaniu reklamy znajdzie się parametr TFUA (tagowanie treści dla osób, które nie osiągnęły wieku świadomego wyrażenia zgody w Europie). Wyłącza on reklamy spersonalizowane, w tym remarketingowe, w przypadku wszystkich żądań reklamy. Uniemożliwia też przesyłanie żądań do zewnętrznych dostawców reklam – dotyczy to np. pikseli pomiaru skuteczności reklam lub serwerów reklamowych firm zewnętrznych.

Podobnie jak w przypadku ustawień dotyczących treści skierowanych do dzieci, w RequestConfiguration.Builder dostępna jest metoda ustawiania parametru TFUA: setTagForUnderAgeOfConsent(), z tymi opcjami.

  • Wywołaj setTagForUnderAgeOfConsent() z TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE, aby wskazać, że żądanie reklamy ma być traktowane jako skierowane do użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku świadomego wyrażenia zgody. Zapobiega to też przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).

  • Wywołaj setTagForUnderAgeOfConsent() z TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE, aby wskazać, że żądanie reklamy nie ma być traktowane jako skierowane do użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku świadomego wyrażenia zgody.

  • Wywołaj setTagForUnderAgeOfConsent() z wartością TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED, aby wskazać, że nie określono, czy żądanie reklamy ma być traktowane jako skierowane do użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku świadomego wyrażenia zgody.

Poniższy przykład pokazuje, że chcesz uwzględnić TFUA w żądaniach reklamy:

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

Tagi umożliwiające włączenie ustawienia dotyczącego treści skierowanych do dzieci i setTagForUnderAgeOfConsent() nie powinny mieć jednocześnie wartości true. Jeśli tak będzie, pierwszeństwo ma ustawienie „skierowane do dzieci”.

Filtrowanie treści reklam

Aby zachować zgodność z zasadami Google Play dotyczącymi nieodpowiednich reklam, które obejmują powiązane oferty w reklamie, wszystkie reklamy i powiązane z nimi oferty wyświetlane w aplikacji muszą być odpowiednie do jej oceny treści, nawet jeśli sama treść jest ogólnie zgodna z zasadami Google Play.

Narzędzia takie jak maksymalna ocena treści reklam pozwalają lepiej kontrolować zawartość reklam wyświetlanych użytkownikom. Aby zachować zgodność z zasadami platformy, możesz ustawić maksymalną ocenę treści.

Aplikacje mogą ustawiać maksymalną ocenę treści reklam w przypadku żądań reklam za pomocą metody setMaxAdContentRating. Reklamy AdMob zwracane po skonfigurowaniu tego ustawienia mają ocenę treści na tym poziomie lub niższym. Możliwe wartości tych dodatkowych informacji są oparte na klasyfikacjach oznaczeń treści cyfrowych i muszą być jednym z tych ciągów znaków:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

Poniższy kod konfiguruje obiekt RequestConfiguration, aby określić, że zwracane treści reklam powinny odpowiadać etykiecie treści cyfrowych nie wyższej niż G:

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

Dowiedz się więcej o ustawianiu maksymalnej oceny treści dla każdego żądania reklamy.

Publisher Privacy Treatment (beta)

Interfejs Publisher Privacy Treatment (PPT) API to opcjonalne narzędzie, które umożliwia aplikacjom wskazywanie, czy wyłączyć personalizację reklam w przypadku wszystkich żądań reklamy, za pomocą metody setPublisherPrivacyPersonalizationState(). Gdy używasz tej funkcji, we wszystkich przyszłych żądaniach reklamy w pozostałej części sesji uwzględniany jest parametr Publisher Privacy Treatment (PPT).

Domyślnie żądania reklam wysyłane do Google powodują wyświetlanie reklam spersonalizowanych. Ten kod wyłącza personalizację reklam w przypadku wszystkich żądań reklamy:

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

Żądanie reklamy

Obiekt AdManagerAdRequest zbiera informacje o kierowaniu, które mają zostać wysłane z żądaniem reklamy.

Dodawanie dodatkowych informacji wysyłanych z żądaniem reklamy

Dodatkowe informacje wysyłane z żądaniem reklamy to dodatkowe szczegóły wysyłane z żądaniem reklamy, które są specyficzne dla pojedynczego źródła reklam.

Ten fragment kodu ustawia dodatkowy klucz parametru collapsible z wartością bottom dla Google:

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

Kierowanie niestandardowe

Możesz przekazywać niestandardowe pary klucz-wartość, aby kierować kampanie (elementy zamówienia) w usłudze Google Ad Manager. Poniższy przykład przekazuje niestandardową parę klucz-wartość w żądaniu reklamy:

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

Możesz przekazać wiele wartości klucza jako listę ciągów znaków. Na przykład, aby kierować reklamy na osoby w wieku około 25 lat, a nie tylko na osoby, które mają dokładnie 25 lat.

Kotlin

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

Java

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

Zapoznaj się z przykładem kierowania niestandardowego w usłudze Ad Manager, aby dowiedzieć się, jak wdrożyć kierowanie niestandardowe w aplikacji demonstracyjnej interfejsu API na Androida.

Wykluczenia kategorii

Wykluczenie kategorii na poziomie boksu możesz dodać do żądania, używając metody addCategoryExclusion():

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

Zapoznaj się z przykładem wykluczeń kategorii w usłudze Ad Manager, aby zobaczyć, jak wdrożyć wykluczenia kategorii w aplikacji demonstracyjnej interfejsu API na Androida.

Identyfikatory podawane przez wydawcę

Możesz ustawić identyfikator podawany przez wydawcę (PPID) do wykorzystania na potrzeby ograniczenia liczby wyświetleń, segmentacji odbiorców, kierowania, sekwencyjnej rotacji reklam i innych funkcji sterujących wyświetlaniem reklam w zależności od odbiorców na różnych urządzeniach.

Oto przykład ustawienia identyfikatora PPID:

Kotlin

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

Java

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

Zapoznaj się z przykładem identyfikatora PPID w usłudze Ad Manager, aby dowiedzieć się, jak wdrożyć identyfikatory podawane przez wydawcę (PPID) w aplikacji demonstracyjnej interfejsu API na Androida.

Sygnały dostarczane przez wydawcę

Dane o odbiorcach i dane kontekstowe możesz wysyłać w żądaniach reklamy jako sygnały dostarczane przez wydawcę. Dzięki sygnałom dostarczanym przez wydawcę możesz używać danych użytkowników do ulepszania zarabiania automatycznego przez przekazywanie licytującym informacji o charakterystyce odbiorców we wszystkich typach transakcji za pomocą standardowych taksonomii, bez konieczności udostępniania identyfikatorów użytkowników. Cechy odbiorców mogą obejmować dane związane z zachowaniem i dane oparte na zainteresowaniach (taksonomia odbiorców IAB w wersji 1.1) oraz dane kontekstowe (taksonomia treści IAB w wersji 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 =
  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();

URL treści

Aby podać adres URL treści na potrzeby reklam kierowanych na treść strony i bezpieczeństwa marki, dodaj:

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

Bezpieczeństwo marki (beta)

Aplikacje, które wyświetlają zawartość dynamiczną przeznaczoną dla różnych odbiorców, mogą udostępniać krótką listę adresów 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()

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() różni się od .setContentUrl() tym, że służy tylko do bezpieczeństwa marki.