Kierowanie

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

Warunek wstępny

Zanim przejdziesz dalej, skonfiguruj GMA Next-Gen SDK.

RequestConfiguration

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

Utwórz obiekt RequestConfiguration z tagami kierowania, których potrzebujesz, za pomocą jego narzędzia do tworzenia, a następnie ustaw konfigurację, wywołując MobileAds.setRequestConfiguration().

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Aby zastosować tagi kierowania z pierwszego żądania reklamy, podaj konfigurację żądania podczas inicjowania pakietu SDK:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

CoroutineScope(Dispatchers.IO).launch {
  // Initialize GMA Next-Gen SDK on a background thread.
  MobileAds.initialize(
    this@MainActivity,
    InitializationConfig
      // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
      .Builder("SAMPLE_APP_ID")
      .setRequestConfiguration(requestConfiguration)
      .build()
  ) {
    // Adapter initialization is complete.
  }
  // Other methods on MobileAds can now be called.
}

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
    .Builder()
    // Set your targeting tags.
    .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();

new Thread(
    () -> {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
          this,
          // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
          new InitializationConfig
              .Builder("SAMPLE_APP_ID")
              .setRequestConfiguration(requestConfiguration)
              .build(),
          initializationStatus -> {
            // Adapter initialization is complete.
          });
      // Other methods on MobileAds can now be called.
    })
    .start();

Ustawianie ograniczeń wiekowych

Aby ułatwić Ci zachowanie zgodności z obowiązującymi przepisami dotyczącymi prywatności dzieci i nastolatków, GMA Next-Gen SDK udostępnia ustawienie dotyczące ograniczeń wiekowych. Ustawienie to pozwala określić, czy GMA Next-Gen SDK ma stosować określone zabezpieczenia wyświetlania reklam w przypadku dzieci, nastolatków lub użytkowników w nieokreślonym wieku.

Ograniczenia wiekowe możesz ustawić 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 =
  RequestConfiguration.Builder()
    // Indicate that ad requests should have child age treatment.
    .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    new RequestConfiguration.Builder()
        // Indicate that ad requests should have child age treatment.
        .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Aby wskazać, że treści mają być traktowane jako skierowane do nastolatków lub użytkowników w nieokreślonym wieku, zastąp ustawienie CHILD jednym z tych ustawień:

  • TEEN
  • UNSPECIFIED

Gdy używasz tego ustawienia, GMA Next-Gen SDK dodaje do żądań reklamy parametr tfat. Skonsultuj się z prawnikiem, aby określić ustawienia dotyczące traktowania użytkowników z uwzględnieniem wieku 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.

Migracja do ustawienia dotyczącego ograniczeń wiekowych z ustawień TFCD i TFUA

Ustawienie dotyczące ograniczeń wiekowych zastępuje wycofane ustawienia .setTagForChildDirectedTreatment() (TFCD) i .setTagForUnderAgeOfConsent() (TFUA).

W tabeli poniżej znajdziesz ustawienia TFCD i TFUA oraz ich odpowiedniki w ustawieniu dotyczącym ograniczeń wiekowych:

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
Brak przypisanej 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
Brak przypisanej wartości .setTagForUnderAgeOfConsent() AgeRestrictedTreatment.UNSPECIFIED
Brak odpowiednika AgeRestrictedTreatment.TEEN

Informacje o interakcjach ustawienia dotyczącego ograniczeń wiekowych z ustawieniami TFCD i TFUA

Jeśli ustawisz ustawienie dotyczące ograniczeń wiekowych oraz ustawienia TFCD lub TFUA, Google zastosuje najbardziej zachowawcze traktowanie.

Ustawienie dotyczące treści skierowanych do dzieci

Na potrzeby ustawy o ochronie prywatności dzieci w internecie (COPPA) istnieje ustawienie „Tagowanie treści jako skierowanych 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, wyłączymy w przypadku tego żądania reklamy oparte na zainteresowaniach i reklamy remarketingowe.

Ustawienie dotyczące treści skierowanych do dzieci możesz zastosować za pomocą setTagForChildDirectedTreatment():

  • Wywołaj metodę setTagForChildDirectedTreatment z wartością 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).

  • Wywołaj metodę setTagForChildDirectedTreatment z wartością 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.

  • Wywołaj metodę setTagForChildDirectedTreatment z wartością TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED, jeśli nie chcesz wskazywać, jak mają być traktowane Twoje treści w żądaniach reklamy w odniesieniu do ustawy COPPA.

Poniższy przykład wskazuje, że chcesz, aby Twoje treści były traktowane jako skierowane do dzieci na potrzeby ustawy COPPA:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Możesz oznaczyć swoje żądania reklamy, by 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. Dodaliśmy tę funkcję, by ułatwić spełnianie wymogów Ogólnego rozporządzenia 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 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. Dowiedz się więcej o tym, jak RODO wpływa na wydawców.

Jeśli użyjesz tej funkcji, do żądania reklamy dodamy parametr TFUA (Tag For Users under the Age of Consent in Europe – tag stosowany w przypadku użytkowników z Europy, którzy nie osiągnęli wieku świadomego wyrażenia zgody). Ten parametr wyłącza reklamy spersonalizowane, w tym remarketingowe, w przypadku wszystkich żądań reklamy. Uniemożliwia również przesł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 znajduje się metoda ustawiania parametru TFUA: setTagForUnderAgeOfConsent(), z tymi opcjami:

  • Wywołaj metodę setTagForUnderAgeOfConsent() z wartością 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 (EOG), którzy nie osiągnęli wieku świadomego wyrażania zgody. Zapobiega to też przesyłaniu identyfikatora wyświetlania reklam na urządzeniach z Androidem (AAID).

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

  • Wywołaj metodę setTagForUnderAgeOfConsent() z wartością TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED, aby wskazać, że nie masz pewności, czy żądanie reklamy powinno być traktowane jako dotyczące użytkowników z Europejskiego Obszaru Gospodarczego (EOG), którzy nie osiągnęli wieku świadomego wyrażania zgody.

Poniższy przykład wskazuje, że chcesz, aby tag TFUA był uwzględniany w Twoich żądaniach reklamy:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.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 treści 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 Twojej 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ą ustawić maksymalną ocenę treści reklam w przypadku swoich żądań reklamy za pomocą setMaxAdContentRating metody. Reklamy AdMob zwracane po skonfigurowaniu tej opcji mają ocenę treści na tym poziomie lub niższą. Możliwe wartości tego dodatku do sieci są oparte na klasyfikacjach etykiet treści cyfrowych i muszą być jednym z tych ciągó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 = RequestConfiguration
  .Builder()
  .setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setMaxAdContentRating(MaxAdContentRating.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 API (beta)

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

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 = RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Żądanie reklamy

Obiekt AdRequest zbiera informacje o kierowaniu, które mają być wysyłane z żądaniem reklamy.

Dodawanie dodatkowych informacji wysyłanych z żądaniem reklamy

Dodatki do sieci to dodatkowe informacje wysyłane z żądaniem reklamy, które są specyficzne dla danego źródła reklam.

Ten fragment kodu ustawia dodatkowy parametr sieciowy o kluczu collapsible i wartości bottom w Google:

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
  NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build()
NativeAdLoader.load(adRequest, adCallback)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
  new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build();
NativeAdLoader.load(adRequest, adCallback);

Kierowanie niestandardowe

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

Kotlin

// Example: Pass custom targeting "age=25".
val newRequest = AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build()

Java

// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build();

Możesz przekazywać wiele wartości klucza jako listę ciągów znaków. Na przykład, aby kierować reklamy na osoby w wieku 24–26 lat, a nie tylko na 25-latków.

Kotlin

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

Java

.putCustomTargeting("age", Arrays.asList("24", "25", "26"));

Wykluczenia kategorii

Aby dodać do żądania wykluczenie kategorii na poziomie boksu reklamowego, użyj metody addCategoryExclusion():

Kotlin

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Java

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

Przykład wykluczeń kategorii w Ad Managerze znajdziesz w aplikacji w wersji demonstracyjnej interfejsu API Androida.

Identyfikatory podawane przez wydawcę

Możesz ustawić identyfikator podawany przez wydawcę (PPID) do użycia 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 = AdRequest.Builder("AD_UNIT_ID")
  .setPublisherProvidedId("AB123456789")
  .build()

Java

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

Przykład identyfikatora PPID w Ad Managerze znajdziesz w aplikacji w wersji demonstracyjnej interfejsu API Androida.

Sygnały dostarczane przez wydawcę

Możesz wysyłać dane o odbiorcach i dane kontekstowe jako sygnały dostarczane przez wydawcę (PPS) w żądaniach reklamy. Dzięki sygnałom PPS możesz używać danych o użytkownikach do zwiększania przychodów z reklam programowych, przekazując charakterystykę odbiorców licytującym we wszystkich typach transakcji za pomocą standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Charakterystyka odbiorców może obejmować dane behawioralne i dane oparte na 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("AD_UNIT_ID")
  .setGoogleExtrasBundle(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));

AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
  .setGoogleExtrasBundle(extras)
  .build();

URL treści

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

Kotlin

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

Java

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

Bezpieczeństwo marki (beta)

Aplikacje, które wyświetlają treści dynamiczne 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 = AdRequest.Builder("AD_UNIT_ID")
  .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");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
    .setNeighboringContentUrls(urls)
    .build();

Metoda .setNeighboringContentUrls() różni się od metody .setContentUrl() tym, że jest używana tylko na potrzeby bezpieczeństwa marki.