Targeting

In dieser Anleitung wird beschrieben, wie Sie dem Google Mobile Ads SDK Targeting-Informationen bereitstellen.

Voraussetzungen

Richten Sie zuerst ein GMA Next-Gen SDK.

RequestConfiguration

RequestConfiguration erfasst Targeting-Informationen, die global auf jede Anzeigenanfrage angewendet werden. Verfügbare Targeting-Tags finden Sie in der RequestConfiguration.Builder Dokumentation.

Erstellen Sie ein RequestConfiguration Objekt mit den gewünschten Targeting-Tags mit dem Builder und legen Sie die Konfiguration dann mit MobileAds.setRequestConfiguration() fest.

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

Wenn Sie Targeting-Tags aus der ersten Anzeigenanfrage anwenden möchten, geben Sie die Anfragekonfiguration bei der SDK-Initialisierung an:

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

Alterskennzeichnung festlegen

Das GMA Next-Gen SDK bietet eine Einstellung für die Alterskennzeichnung, mit der Sie die Einhaltung der geltenden Datenschutzbestimmungen für Kinder und Jugendliche besser verwalten können. Mit dieser Einstellung können Sie angeben, ob GMA Next-Gen SDK bestimmte Schutzmaßnahmen für die Anzeigenauslieferung für Kinder, Jugendliche oder ein nicht angegebenes Alter anwenden soll.

Sie können die Alterskennzeichnung mit der setAgeRestrictedTreatment() Methode und der RequestConfiguration.Builder API festlegen.

Im folgenden Beispiel wird angegeben, dass Anzeigenanfragen als Inhalte für Kinder gekennzeichnet werden sollen:

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

Wenn Sie die Alterskennzeichnung für Jugendliche oder ein nicht angegebenes Alter festlegen möchten, ersetzen Sie die Einstellung CHILD durch eine der folgenden Optionen:

  • TEEN
  • UNSPECIFIED

Wenn Sie diese Einstellung verwenden, fügt GMA Next-Gen SDK den Parameter tfat in Anzeigen anfragen ein. Lassen Sie sich von Ihrem Rechtsbeistand beraten, um die für Ihre Nutzer geltende Alterskennzeichnung auf Grundlage Ihrer rechtlichen und regulatorischen Verpflichtungen festzulegen. Weitere Informationen finden Sie unter Anzeigenanfragen mit einem Tag für die Alterskennzeichnung versehen.

Von TFCD und TFUA zur Alterskennzeichnung migrieren

Die Einstellung für die Alterskennzeichnung ersetzt die verworfenen Einstellungen .setTagForChildDirectedTreatment() (TFCD) und .setTagForUnderAgeOfConsent() (TFUA).

In der folgenden Tabelle sind die TFCD- und TFUA-Einstellungen und die entsprechenden Alterskennzeichnungen aufgeführt:

TFCD

TFCD Alterskennzeichnung
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE AgeRestrictedTreatment.CHILD
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE AgeRestrictedTreatment.UNSPECIFIED
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED AgeRestrictedTreatment.UNSPECIFIED
Kein Wert für .setTagForChildDirectedTreatment() zugewiesen AgeRestrictedTreatment.UNSPECIFIED
Kein Äquivalent AgeRestrictedTreatment.TEEN

TFUA

TFUA Alterskennzeichnung
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
Kein Wert für .setTagForUnderAgeOfConsent() zugewiesen AgeRestrictedTreatment.UNSPECIFIED
Kein Äquivalent AgeRestrictedTreatment.TEEN

Interaktionen zwischen Alterskennzeichnung und TFCD und TFUA

Wenn Sie die Einstellung für die Alterskennzeichnung und die TFCD- oder TFUA-Einstellungen festlegen, verwendet Google bei der Verarbeitung von Anzeigenanfragen jeweils die konservativste Variante.

Einstellung für Inhalte für Kinder

Im Rahmen des US-Gesetzes zum Schutz der Privatsphäre von Kindern im Internet (Children's Online Privacy Protection Act, COPPA), gibt es eine Einstellung namens "Tag für Inhalte für Kinder". Wenn Sie dieses Tag festlegen, bestätigen Sie, dass diese Benachrichtigung korrekt ist und Sie die Berechtigung haben, im Auftrag des App-Inhabers zu handeln. Sie sind sich bewusst, dass der Missbrauch dieser Einstellung zur Kündigung Ihres Google-Kontos führen kann.

Als App-Entwickler können Sie angeben, ob Google bei einer Anzeigenanfrage Ihre Inhalte als auf Kinder ausgerichtet klassifizieren soll. Wenn Sie angeben, dass Google Ihre Inhalte als auf Kinder ausgerichtet klassifizieren soll, deaktivieren wir interessenbezogene Werbung und Remarketing-Anzeigen für diese Anzeigenanfrage.

Sie können die Einstellung für Inhalte für Kinder mit setTagForChildDirectedTreatment() anwenden:

  • Rufen Sie setTagForChildDirectedTreatment mit TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE auf, um anzugeben, dass Ihre Inhalte gemäß COPPA als Inhalte für Kinder behandelt werden sollen. Dadurch wird die Übertragung der Android-Werbe-ID (Android Advertising ID, AAID) verhindert.

  • Rufen Sie setTagForChildDirectedTreatment mit TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE auf, um anzugeben, dass Ihre Inhalte gemäß COPPA nicht als Inhalte für Kinder behandelt werden sollen.

  • Rufen Sie setTagForChildDirectedTreatment mit TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED auf, wenn Sie in Anzeigenanfragen nicht angeben möchten, wie Ihre Inhalte in Bezug auf COPPA behandelt werden sollen.

Im folgenden Beispiel wird angegeben, dass Ihre Inhalte gemäß COPPA als Inhalte für Kinder behandelt werden sollen:

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

Sie können Ihre Anzeigenanfragen zur Verarbeitung für minderjährige Nutzer im Europäischen Wirtschaftsraum (EWR) kennzeichnen. Mit dieser Funktion soll die Einhaltung der EU-Datenschutz-Grundverordnung (DSGVO) erleichtert werden. Möglicherweise gelten für Sie im Rahmen der DSGVO noch weitere rechtliche Verpflichtungen. Lesen Sie die Richtlinien der Europäischen Union und wenden Sie sich gegebenenfalls an Ihren Rechtsbeistand. Die Tools von Google sollen die Einhaltung gesetzlicher Bestimmungen erleichtern. Sie entbinden Publisher nicht von ihren gesetzlichen Pflichten. Weitere Informationen zu den Auswirkungen der DSGVO auf Publisher.

Bei Verwendung dieser Funktion wird der Parameter „Tag For Users under the Age of Consent in Europe“ (TFUA, Tag für minderjährige Nutzer in Europa) in die Anzeigenanfrage aufgenommen. Mit diesem Parameter werden personalisierte Anzeigen, einschließlich Remarketing, für alle Anzeigenanfragen deaktiviert. Außerdem werden Anfragen an Drittanbieter deaktiviert, z. B. Tracking-Pixel zur Messung der Anzeigenleistung und Ad-Server von Drittanbietern.

Wie bei den Einstellungen für Inhalte für Kinder gibt es in RequestConfiguration.Builder eine Methode zum Festlegen des TFUA-Parameters: setTagForUnderAgeOfConsent(), mit den folgenden Optionen.

  • Rufen Sie setTagForUnderAgeOfConsent() mit TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE auf, um anzugeben, dass die Anzeigenanfrage für minderjährige Nutzer im Europäischen Wirtschaftsraum (EWR) verarbeitet werden soll. Dadurch wird auch die Übertragung der Android-Werbe-ID (AAID) verhindert.

  • Rufen Sie setTagForUnderAgeOfConsent() mit TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE auf, um anzugeben, dass die Anzeigenanfrage nicht für minderjährige Nutzer im Europäischen Wirtschaftsraum (EWR) verarbeitet werden soll.

  • Rufen Sie setTagForUnderAgeOfConsent() mit TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED auf, um anzugeben, dass Sie nicht festgelegt haben, ob die Anzeigenanfrage für minderjährige Nutzer im Europäischen Wirtschaftsraum (EWR) verarbeitet werden soll.

Im folgenden Beispiel wird angegeben, dass TFUA in Ihre Anzeigenanfragen aufgenommen werden soll:

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

Die Tags zum Aktivieren der Einstellung für Inhalte für Kinder und setTagForUnderAgeOfConsent() dürfen nicht gleichzeitig auf true gesetzt werden. Sollte dieser Fall auftreten, hat die Einstellung für Inhalte für Kinder Vorrang.

Anzeigeninhalte filtern

Gemäß der Google Play-Richtlinie zu unangemessenen Anzeigen , die auch zugehörige Angebote in einer Anzeige umfasst, müssen alle Anzeigen und die zugehörigen Angebote, die in Ihrer App eingeblendet werden, der jeweiligen Altersfreigabe Ihrer App entsprechen, auch wenn der Inhalt der Werbeanzeigen selbst die Richtlinien von Google Play erfüllt.

Anhand der höchsten Altersfreigabe für Anzeigeninhalte lässt sich kontrollieren, welche Inhalte Nutzern in Anzeigen präsentiert werden. Sie können eine maximale Altersfreigabe festlegen, um die Einhaltung der Plattformrichtlinien zu unterstützen.

Apps können mit der setMaxAdContentRating Methode eine höchste Altersfreigabe für Anzeigeninhalte für ihre Anzeigenanfragen festlegen. Die AdMob-Anzeigen, die zurückgegeben werden, wenn diese Einstellung konfiguriert ist, haben eine Altersfreigabe, die dieser Stufe entspricht oder niedriger ist. Die möglichen Werte für dieses Netzwerk-Extra basieren auf den Kennzeichnungen für digitale Inhalte und müssen einer der folgenden Strings sein:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

Der folgende Code konfiguriert ein RequestConfiguration-Objekt so, dass die zurückgegebenen Anzeigeninhalte einer Kennzeichnung für digitale Inhalte entsprechen, die nicht höher als G ist:

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

Weitere Informationen zum Festlegen der höchsten Altersfreigabe für einzelne Anzeigenanfragen

Publisher Privacy Treatment (Beta)

Die Publisher Privacy Treatment (PPT) API ist ein optionales Tool, mit dem Apps angeben können, ob die Anzeigen personalisierung für alle Anzeigenanfragen mit der setPublisherPrivacyPersonalizationState() Methode deaktiviert werden soll. Wenn Sie diese Funktion verwenden, wird für den Rest der Sitzung in alle zukünftigen Anzeigenanfragen ein PPT-Parameter (Publisher Privacy Treatment) aufgenommen.

Standardmäßig werden bei Anzeigenanfragen an Google personalisierte Anzeigen ausgeliefert. Mit dem folgenden Code werden personalisierte Anzeigen für alle Anzeigenanfragen deaktiviert:

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

Anzeigenanfrage

Das AdRequest Objekt erfasst Targeting-Informationen, die mit einer Anzeigenanfrage gesendet werden sollen.

Netzwerk-Extras hinzufügen

Netzwerk-Extras sind zusätzliche Details, die mit einer Anzeigenanfrage gesendet werden und für eine einzelne Anzeigenquelle spezifisch sind.

Im folgenden Code-Snippet wird ein zusätzlicher Parameterschlüssel collapsible mit dem Wert bottom an Google gesendet:

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

Benutzerdefiniertes Targeting

Sie können benutzerdefinierte Schlüssel/Wert-Paare übergeben, um Google Ad Manager-Kampagnen (Werbebuchungen) zu targetieren. Im folgenden Beispiel wird ein benutzerdefiniertes Schlüssel/Wert-Paar in einer Anzeigenanfrage übergeben:

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

Sie können mehrere Werte für einen Schlüssel als Liste von Strings übergeben. So können Sie beispielsweise Personen in ihren Zwanzigern targetieren und nicht nur 25-Jährige.

Kotlin

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

Java

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

Kategorieausschlüsse

Sie können einer Anfrage einen Kategorieausschluss auf Slot-Ebene hinzufügen. Verwenden Sie dazu die addCategoryExclusion() Methode:

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

Im Beispiel für Kategorieausschlüsse in Ad Manager finden Sie eine Implementierung von Kategorieausschlüssen in der Android API Demo App.

Vom Publisher bereitgestellte Kennungen

Sie können eine PPID (Publisher Provided Identifier, vom Publisher bereitgestellte Kennung) für das Frequency Capping, die Zielgruppensegmentierung und das Targeting auf Zielgruppen, die sequenzielle Anzeigenrotation und andere Funktionen zur zielgruppenbasierten Anzeigenauslieferung auf beliebigen Geräten festlegen.

Hier sehen Sie ein Beispiel für das Festlegen der PPID:

Kotlin

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

Java

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

Im Beispiel für PPIDs in Ad Manager finden Sie eine Implementierung von PPIDs in der Android API Demo App.

Vom Publisher bereitgestellte Signale

Sie können Zielgruppen- und Kontextdaten als vom Publisher bereitgestellte Signale (Publisher Provided Signals, PPS) in Anzeigenanfragen senden. Mit PPS können Sie Ihre Nutzerdaten verwenden, um die programmatische Monetarisierung zu verbessern. Dazu geben Sie Ihre Zielgruppeneigenschaften an Bieter in allen Transaktionstypen mithilfe von Standardtaxonomien weiter, ohne Nutzerkennungen freizugeben. Zu Ihren Zielgruppeneigenschaften können verhaltensbezogene und interessenbezogene Daten (IAB Audience Taxonomy 1.1) sowie Kontextdaten (IAB Content Taxonomy 2.2) gehören.

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

Inhalts-URL

Wenn Sie eine Inhalts-URL für Anzeigen mit Targeting auf Inhalte und Markensicherheit angeben möchten, fügen Sie Folgendes hinzu:

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

Markensicherheit (Beta)

Anwendungen, die dynamische Inhalte für unterschiedliche Zielgruppen präsentieren, können eine kurze Liste von URLs angeben:

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

.setNeighboringContentUrls() unterscheidet sich von .setContentUrl() dadurch, dass es nur für die Markensicherheit verwendet wird.