Kierowanie

Z tego przewodnika dowiesz się, jak podać w żądaniu reklamy informacje o kierowaniu. Przykład: pobierz aplikację demonstracyjną Android API.

Pobierz wersję demonstracyjną API

Warunek wstępny

RequestConfiguration

RequestConfiguration to obiekt zbierający informacje o kierowaniu, które są stosowane globalnie za pomocą metody statycznej MobileAds.

Aby zaktualizować konfigurację żądania, uzyskaj montera z istniejącej konfiguracji, przeprowadź dowolne aktualizacje i ustaw go w ten sposób:

Java

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

Kotlin

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

Ustawienie skierowane do dzieci

Zgodnie z ustawą o ochronie prywatności dzieci w internecie (Children's Online Privacy Protection Act, COPPA) dostępne jest ustawienie o nazwie „tag traktowania treści jako skierowanych do dzieci”. Ustawiając ten tag, poświadczasz, że to powiadomienie jest prawdziwe i że masz upoważnienie do działania w imieniu właściciela aplikacji. Przyjmujesz do wiadomości, że nadużywanie tego ustawienia może spowodować zamknięcie 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 Google ma traktować Twoje treści jako skierowane do dzieci, wyłączymy reklamy oparte na zainteresowaniach i reklamy remarketingowe w przypadku tego żądania reklamy.

Tego ustawienia można używać w przypadku wszystkich wersji pakietu SDK Usług Google Play za pomocą RequestConfiguration.Builder.setTagForChildDirectedTreatment(int):

  • Wywołaj metodę setTagForChildDirectedTreatment, używając polecenia 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 urządzeniach z Androidem (AAID).

  • Wywołaj metodę setTagForChildDirectedTreatment, używając polecenia TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE, aby wskazać, że nie chcesz, aby Twoje treści były traktowane jako skierowane do dzieci zgodnie z ustawą COPPA.

  • Wywołaj metodę setTagForChildDirectedTreatment, używając w żądaniach reklamy TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED, jeśli nie chcesz decydować o tym, jak Twoje treści mają być traktowane zgodnie z ustawą COPPA.

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

Java

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

Kotlin

var requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)
.{/15

Możesz oznaczyć swoje żądania reklamy, aby były traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego, 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). Pamiętaj, że RODO może nakładać na Ciebie inne obowiązki prawne. Zapoznaj się ze wskazówkami Unii Europejskiej i skonsultuj się z prawnikiem. Pamiętaj, że narzędzia Google pomagają w przestrzeganiu przepisów, ale nie zwalniają żadnego wydawcy z jego zobowiązań wobec prawa. Więcej informacji o wpływie RODO na wydawców

Gdy używasz tej funkcji, do żądania reklamy dołączany jest parametr TFUA dotyczący użytkowników, którzy nie osiągnęli wieku świadomego wyrażenia zgody. 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 śledzących reklamy 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 numerem TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE, aby wskazać, że chcesz, aby żądanie reklamy było traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego, którzy nie osiągnęli wieku świadomego wyrażenia zgody. Uniemożliwia to też przesyłanie identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).

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

  • Wywołaj metodę setTagForUnderAgeOfConsent() z operatorem TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED, aby poinformować, że nie określono, czy żądanie reklamy powinno być traktowane w przypadku użytkowników z Europejskiego Obszaru Gospodarczego, którzy nie osiągnęli wieku świadomego wyrażenia zgody.

Ten przykład wskazuje, że w żądaniach reklamy chcesz uwzględniać TFUA:

Java

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

Kotlin

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

Tagi włączające ustawienie dotyczące treści skierowanych do dzieci i setTagForUnderAgeOfConsent() nie powinny mieć jednocześnie wartości true. Jeśli tak, pierwszeństwo ma ustawienie dotyczące treści skierowanych do dzieci.

Filtrowanie treści reklamy

Aby zachować zgodność z zasadami Google Play dotyczącymi nieodpowiednich reklam, które obejmują oferty powiązane z reklamami, wszystkie reklamy i powiązane z nimi oferty wyświetlane w Twojej aplikacji muszą być odpowiednie do jej oceny treści, nawet jeśli sama treść jest pod innymi względami 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 żądaniach reklamy, korzystając z metody setMaxAdContentRating. Reklamy AdMob zwracane, gdy to ustawienie jest skonfigurowane, mają ocenę treści na tym poziomie lub niższym. Możliwe wartości tego dodatkowego elementu zależą od klasyfikacji 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

Ten kod konfiguruje obiekt RequestConfiguration w celu określenia, że zwrócona treść reklamy powinna być zgodna z oznaczeniem treści cyfrowych nie wyższych niż G:

Java

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

Kotlin

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

Więcej informacji:

Zasady ochrony prywatności dla wydawców (beta)

Zasady dotyczące ochrony prywatności wydawców (PPT) API to opcjonalne narzędzie, które za pomocą metody setPublisherPrivacyPersonalizationState() pozwala aplikacjom wskazać, czy mają one wyłączyć personalizację reklam w przypadku wszystkich żądań reklamy. Gdy używasz tej funkcji, parametr ochrony prywatności wydawcy (PPT) jest uwzględniany we wszystkich przyszłych żądaniach reklamy do końca sesji.

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

Java

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

Kotlin

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

Żądanie reklamy

Obiekt AdManagerAdRequest zbiera informacje o kierowaniu, które są wysyłane w odpowiedzi na żądanie reklamy.

Kierowanie niestandardowe

Do AdManagerAdRequest.Builder.addCustomTargeting() możesz przekazywać niestandardowe pary klucz-wartość, by kierować reklamy na kampanie Google Ad Managera (elementy zamówienia):

Java

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

Kotlin

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

W przypadku klucza możesz przekazać wiele wartości w postaci listy ciągów znaków. Dotyczy to na przykład kierowania reklam do osób w wieku powyżej dwudziestu lat, a nie tylko do osób powyżej 25 roku życia.

.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 prezentacji interfejsu API Androida.

Wykluczenia kategorii

Aby dodać do żądania poziom wykluczenia kategorii na poziomie boksu, użyj metody addCategoryExclusion() udostępnianej przez AdManagerAdRequest.Builder:

Java

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

Kotlin

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

Więcej informacji o implementacji wykluczeń kategorii w aplikacji demonstracyjnej Android API znajdziesz w przykładzie wykluczenia kategorii w usłudze Ad Manager.

Identyfikatory podawane przez wydawcę

Możesz ustawić identyfikator podawany przez wydawcę (PPID), który będzie używany na potrzeby ograniczenia liczby wyświetleń, podziału 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:

Java

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

Kotlin

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

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

Sygnały dostarczane przez wydawcę

W żądaniach reklam możesz wysyłać dane o odbiorcach i dane kontekstowe jako sygnały dostarczane przez wydawcę. Dzięki nim możesz używać danych o użytkownikach do polepszania automatyzacji generowania przychodu przez przekazywanie informacji o odbiorcach licytującym we wszystkich typach transakcji przy użyciu standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Charakterystyka odbiorców może obejmować dane o zachowaniach i zainteresowaniach (taksonomia odbiorców IAB 1.1) oraz dane kontekstowe (Taksonomia treści IAB 2.2).

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

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter.class, extras)
  .build()

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

URL treści

Aby podać adres URL treści na potrzeby reklam kierowanych na treść strony oraz związanych z bezpieczeństwem marki, podczas tworzenia elementu AdManagerAdRequest możesz wywołać metodę setContentUrl():

Java

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

Kotlin

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

Bezpieczeństwo marki (beta)

Aplikacje, które wyświetlają treści dynamiczne przeznaczone dla różnych odbiorców, mogą podczas tworzenia elementu AdManagerAdRequest wyświetlać krótką listę adresów URL za pomocą metody setNeighboringContentUrls():

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

Kotlin

var urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
var requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

.setNeighboringContentUrls() różni się od .setContentUrl() tym, że jest używany tylko do ochrony marki.