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
- Zapoznaj się z przewodnikiem dla początkujących.
RequestConfiguration
RequestConfiguration
zbiera informacje o kierowaniu stosowane globalnie do każdego żądania reklamy. Listę dostępnych tagów kierowania znajdziesz w RequestConfiguration.Builder
dokumentacji.
Aby zaktualizować konfigurację żądania, pobierz narzędzie do tworzenia z dotychczasowej konfiguracji, wprowadź odpowiednie zmiany i ustaw je w ten sposób:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Aby mieć pewność, że wszystkie żądania reklam będą uwzględniać zmiany w konfiguracji żądań, ustaw konfigurację żądań przed zainicjowaniem pakietu SDK do reklam mobilnych.
Ustawienie dotyczące treści skierowanych do dzieci
Na potrzeby ustawy o ochronie prywatności dzieci w internecie (COPPA) istnieje ustawienie „Oznacz jako skierowane do dzieci”. Ustawiając ten tag, potwierdzasz, że to zgłoszenie jest prawidłowe i masz uprawnienia do działania w imieniu właściciela aplikacji. Rozumiesz, że naduż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 wskażesz, że chcesz, aby Twoje treści były traktowane jako skierowane do dzieci, podejmiemy działania mające na celu wyłączenie w tym żądaniu reklamy opartej na zainteresowaniach i reklamy remarketingowej.
Ustawienie „Treści skierowane do dzieci” możesz zastosować w tych miejscach:setTagForChildDirectedTreatment()
Wywołaj funkcję
setTagForChildDirectedTreatment
z parametremTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
, aby wskazać, że treści mają być traktowane jako skierowane do dzieci na potrzeby ustawy COPPA. Zapobiega to przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).Wywołaj funkcję
setTagForChildDirectedTreatment
z parametremTAG_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.Wywołaj funkcję
setTagForChildDirectedTreatment
z parametremTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED
, jeśli nie chcesz określać, w jaki sposób mają być traktowane Twoje treści w żądaniach reklam w kontekście ustawy COPPA.
Poniższy przykład wskazuje, że na potrzeby ustawy COPPA chcesz, aby Twoje treści były traktowane jako skierowane do dzieci:
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 samodzielnego wyrażania 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 zobowiązania. Zapoznaj się ze wskazówkami Unii Europejskiej i skonsultuj się ze swoim radcą prawnym. 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). 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 kierowanych do dzieci, istnieje metoda ustawiania parametru TFUA:RequestConfiguration.Builder
setTagForUnderAgeOfConsent()
z tymi opcjami:
Wywołaj funkcję
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 również przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).Wywołaj funkcję
setTagForUnderAgeOfConsent()
z parametremTAG_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.Wywołaj funkcję
setTagForUnderAgeOfConsent()
z parametremTAG_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 samodzielnego wyrażania zgody.
Poniższy przykład pokazuje, że chcesz, aby parametr TFUA był uwzględniany 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 jest, ustawienie dotyczące aplikacji skierowanych do dzieci ma pierwszeństwo.
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 Twojej aplikacji muszą być odpowiednie do oceny treści aplikacji, 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 przypadku żądań reklam 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 dodatkowego parametru sieci zależą od klasyfikacji 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
Ten kod konfiguruje obiekt RequestConfiguration
, aby określić, że zwracane treści reklamy powinny odpowiadać oznaczeniu etykiety treści cyfrowych nie wyższemu 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 określaniu maksymalnej oceny treści dla każdego żądania reklamy.
Publisher Privacy Treatment API (beta)
Interfejs Publisher Privacy Treatment (PPT) to opcjonalne narzędzie, które umożliwia aplikacjom określanie, czy wyłączyć personalizację reklam w przypadku wszystkich żądań reklam za pomocą metody setPublisherPrivacyPersonalizationState()
. Gdy używasz tej funkcji, w żądaniach reklam wysyłanych w dalszej części sesji uwzględniany jest parametr Publisher Privacy Treatment (PPT).
Domyślnie żądania reklam wysyłane do Google powodują wyświetlanie reklam spersonalizowanych. Poniższy 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
AdManagerAdRequest
zbiera informacje o kierowaniu, które mają być wysyłane z żądaniem reklamy.
Dodatki do sieci
Dodatkowe informacje o sieci to dodatkowe szczegóły wysyłane wraz z żądaniem reklamy, które są specyficzne dla jednego źródła reklam.
Ten fragment kodu ustawia w Google dodatkowy klucz parametru collapsible
z wartością bottom
:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adLoader.loadAd(adRequest)
Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
adLoader.loadAd(adRequest);
Kierowanie niestandardowe
Możesz przekazywać niestandardowe pary klucz-wartość, aby kierować kampanie (elementy zamówienia) Google Ad Managera. W tym przykładzie w żądaniu reklamy przekazywana jest niestandardowa para klucz-wartość:
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 możesz kierować reklamy na osoby w wieku około 25 lat, a nie tylko na 25-latków.
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Wykluczenia kategorii
Aby dodać do żądania poziom wykluczenia kategorii na poziomie slotu, użyj 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ć implementację wykluczeń kategorii w aplikacji demonstracyjnej interfejsu API 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 ustawiania identyfikatora PPID:
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build()
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build();
Zapoznaj się z przykładem identyfikatorów PPID w Ad Managerze, aby zobaczyć implementację identyfikatorów podawanych przez wydawcę (PPID) w aplikacji demonstracyjnej interfejsu API na Androida.
Sygnały dostarczane przez wydawcę
W żądaniach reklamy możesz wysyłać dane o odbiorcach i dane kontekstowe jako sygnały dostarczane przez wydawcę. Sygnały dostarczane przez wydawcę umożliwiają Ci wykorzystywanie danych o użytkownikach do poprawy zarabiania w sposób zautomatyzowany poprzez przekazywanie charakterystyki odbiorców podmiotom ustalającym stawki we wszystkich rodzajach transakcji z użyciem standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Charakterystyka odbiorców może obejmować dane związane z zachowaniem i zainteresowaniami (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", 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 na potrzeby reklam kierowanych na treść 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 wyświetlające dynamiczne treści przeznaczone dla różnych odbiorców mogą podać 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
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 jest używane tylko do ochrony marki.