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
- Wykonaj czynności opisane w przewodniku dla początkujących.
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 poleceniaTAG_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 poleceniaTAG_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 reklamyTAG_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)
Użytkownicy, którzy nie osiągnęli wieku świadomego wyrażenia zgody
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 numeremTAG_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 elementemTAG_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 operatoremTAG_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:
Ustawianie maksymalnej oceny treści dla każdego żądania reklamy
Ustawianie maksymalnej oceny treści reklam w aplikacji lub na koncie
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.