Z tego przewodnika dowiesz się, jak przekazywać pakietowi SDK do reklam mobilnych Google informacje o kierowaniu.
Aby zobaczyć działający przykład, pobierz aplikację Demonstracja interfejsu API na Androida.Pobierz wersję demonstracyjną interfejsu API
Warunek wstępny
- Zapoznaj się z przewodnikiem dla początkujących.
RequestConfiguration
RequestConfiguration
zbiera informacje kierowania stosowane globalnie w przypadku każdego żądania reklamy. Informacje o dostępnych tagach kierowania znajdziesz w dokumentacji RequestConfiguration.Builder
.
Aby zaktualizować konfigurację żądania, pobierz kreatora z dotychczasowej konfiguracji, wprowadź odpowiednie zmiany i ustaw go w ten sposób:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Ustawienie skierowane do dzieci
W celu zachowania zgodności z amerykańską ustawą o ochronie prywatności dzieci w internecie (COPPA) istnieje ustawienie „Tagi dla treści skierowanych do dzieci”. Ustawiając ten tag, potwierdzasz, że ta informacja jest poprawna i masz upoważnienie do działania w imieniu właściciela aplikacji. Rozumiesz, że niewłaściwe użycie tego ustawienia może skutkować zamknięciem 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 oznaczysz swoje treści jako skierowane do dzieci, wyłączymy w przypadku tego żądania reklamy oparte na zainteresowaniach i reklamy remarketingowe.
Ustawienie dotyczące dzieci możesz zastosować w sekcjach:
setTagForChildDirectedTreatment()
:
Zadzwoń pod numer
setTagForChildDirectedTreatment
(TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
), aby wskazać, że chcesz, aby Twoje treści były traktowane jako skierowane do dzieci na potrzeby ustawy COPPA. Zapobiega to przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).Zadzwoń pod numer
setTagForChildDirectedTreatment
, aby poinformować, że nie chcesz, aby Twoje treści były traktowane jako skierowane do dzieci na potrzeby ustawy COPPA.TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE
Zadzwoń pod numer
setTagForChildDirectedTreatment
, jeśli nie chcesz wskazywać, jak chcesz, aby Twoje treści były traktowane w świetle ustawy COPPA w żądaniach reklam.TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
Ten przykład wskazuje, że chcesz, aby Twoje treści były traktowane jako kierowane do dzieci na potrzeby ustawy 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);
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 (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). Pamiętaj, że zgodnie z RODO możesz mieć także inne obowiązki prawne. Zapoznaj się ze wskazówkami Unii Europejskiej i skonsultuj się ze swoim 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 tym, jak RODO wpływa na działalność wydawców
Jeśli użyjesz tej funkcji, do żądania reklamy dodamy parametr Tag For Users under the Age of Consent in Europe (TFUA – tag stosowany w przypadku użytkowników z Europy, którzy nie osiągnęli wieku samodzielnego wyrażania 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
jest metoda pozwalająca ustawić parametr TFUA:
setTagForUnderAgeOfConsent()
,
z tymi opcjami:
Wykonaj wywołanie
setTagForUnderAgeOfConsent()
z parametremTAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
, aby wskazać, że żądanie reklamy ma być traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku samodzielnego wyrażania zgody. Zapobiega to też przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).Wywołaj
setTagForUnderAgeOfConsent()
z wartościąTAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
, aby wskazać, że żądanie reklamy nie ma być traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku samodzielnego wyrażania zgody.Zadzwoń pod numer
setTagForUnderAgeOfConsent()
, aby wskazać, że nie określiliśmy, czy żądanie reklamy ma być traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku samodzielnego wyrażania zgody.TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
Ten przykład wskazuje, że chcesz uwzględnić TFUA w żądaniach reklam:
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, które umożliwiają ustawienie dotyczące reklam skierowanych do dzieci, i tag setTagForUnderAgeOfConsent()
nie powinny mieć jednocześnie wartości true
.
Jeśli tak, ustawienie skierowane do dzieci ma pierwszeństwo.
Filtrowanie treści reklam
Aby być zgodnym z zasadami Google Play dotyczącymi nieodpowiednich reklam, które obejmują oferty powiązane z reklamą, wszystkie reklamy i powiązane z nimi oferty wyświetlane w aplikacji muszą być odpowiednie do oceny treści aplikacji, nawet jeśli sama treść jest 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ń reklamy za pomocą metody
setMaxAdContentRating
. Reklamy AdMob zwracane po skonfigurowaniu tej opcji mają ocenę treści na tym poziomie lub niższą. Możliwe wartości tego dodatku sieciowego są oparte na klasyfikacjach etykiet 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 reklamy powinny odpowiadać oznaczeniu treści cyfrowych o etacie nie wyższym 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);
Więcej informacji:
Ustawianie maksymalnej oceny treści dla każdego żądania reklamy
Ustawianie maksymalnej oceny treści reklam w aplikacji lub na koncie
Publisher Privacy Treatment API (beta)
Publisher Privacy Treatment
(PPT) API to opcjonalne narzędzie, które umożliwia aplikacjom określenie, czy wyłączyć personalizację reklam we wszystkich żądaniach reklamy za pomocą metody
setPublisherPrivacyPersonalizationState()
.
Gdy używasz tej funkcji, w przyszłych żądaniach reklamy (przez resztę sesji) uwzględniany jest parametr PPT (Publisher Privacy Treatment).
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(PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Żądanie reklamy
Obiekt zbiera informacje kierowania, które mają być wysyłane z żądaniem reklamy.
Kierowanie niestandardowe
Za pomocą tagu AdManagerAdRequest.Builder.addCustomTargeting()
możesz przekazywać niestandardowe pary klucz-wartość do kampanii (elementów zamówienia) w Google Ad Managera:
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ć kilka wartości klucza jako listę ciągów znaków. Możesz na przykład kierować reklamy na osoby w środku dwudziestki, a nie tylko na osoby w wieku 25 lat.
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Aby zobaczyć implementację kierowania niestandardowego w aplikacji demonstracyjnej Android API, zapoznaj się z przykładem kierowania niestandardowego w usłudze Ad Manager.
Wykluczenia kategorii
Aby dodać do prośby wykluczenie kategorii na poziomie boksu, użyj metody addCategoryExclusion()
udostępnionej przez AdManagerAdRequest.Builder
:
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();
Aby zobaczyć przykład implementacji wykluczeń kategorii w aplikacji demonstracyjnej interfejsu API na Androida, zapoznaj się z przykładem wykluczeń kategorii w Ad Managerze.
Identyfikatory podawane przez wydawcę
Możesz ustawić identyfikator podany przez wydawcę (PPID) na potrzeby ograniczenia liczby wyświetleń, podziału odbiorców na segmenty, 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();
Aby zobaczyć implementację identyfikatorów podanych przez wydawcę (PPID) w aplikacji demonstracyjnej interfejsu API na Androida, zapoznaj się z przykładem identyfikatorów PPID w Ad Managerze.
Sygnały dostarczane przez wydawcę
Dane o odbiorcach i dane kontekstowe możesz wysyłać w żądaniach reklamy jako sygnały dostarczane przez wydawcę (PPS). Dzięki PPS możesz ulepszać zarabianie na automatyzacji, korzystając z danych o użytkownikach, aby przekazywać cechy odbiorców wszystkim licytującym we wszystkich typach transakcji, używając standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Cechy odbiorców mogą obejmować dane o zachowaniu i zainteresowaniach (taksonomia odbiorców IAB 1.1) oraz dane kontekstowe (taksonomia treści IAB 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 = AdRequest.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", 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()
URL treści
Aby podać adres URL treści w przypadku reklam kierowanych na treści i zapewniania bezpieczeństwa marki, możesz wywołać funkcję setContentUrl()
podczas tworzenia AdManagerAdRequest
:
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 (wersja beta)
Aplikacje wyświetlające treści dynamiczne przeznaczone dla różnych odbiorców mogą udostępniać krótką listę adresów URL za pomocą metody setNeighboringContentUrls()
podczas tworzenia AdManagerAdRequest
:
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
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();
.setNeighboringContentUrls()
różni się od .setContentUrl()
tym, że służy tylko do ochrony marki.