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();
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 die Einstellung „Tag für Inhalte für Kinder“. Wenn Sie dieses Tag festlegen, bestätigen Sie, dass diese Benachrichtigung korrekt ist und Sie berechtigt sind, im Namen des Inhabers der App 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
setTagForChildDirectedTreatmentmitTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEauf, um anzugeben, dass Ihre Inhalte im Hinblick auf COPPA als Inhalte für Kinder behandelt werden sollen. Dadurch wird die Übertragung der Android-Werbe-ID (Android Advertising Identifier, AAID) verhindert.Rufen Sie
setTagForChildDirectedTreatmentmitTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEauf, um anzugeben, dass Ihre Inhalte im Hinblick auf COPPA _nicht_ als Inhalte für Kinder behandelt werden sollen.Rufen Sie
setTagForChildDirectedTreatmentmitTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDauf, wenn Sie in Anzeigenanfragen nicht angeben möchten, wie Ihre Inhalte im Hinblick auf COPPA behandelt werden sollen.
Im folgenden Beispiel wird angegeben, dass Ihre Inhalte im Hinblick auf 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);
Minderjährige Nutzer
Sie können Ihre Anzeigenanfragen für die 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()mitTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEauf, 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 (Android Advertising Identifier, AAID) verhindert.Rufen Sie
setTagForUnderAgeOfConsent()mitTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEauf, um anzugeben, dass die Anzeigenanfrage nicht für minderjährige Nutzer im Europäischen Wirtschaftsraum (EWR) verarbeitet werden soll.Rufen Sie
setTagForUnderAgeOfConsent()mitTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDauf, 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 sollten nicht gleichzeitig auf gesetzt werden.setTagForUnderAgeOfConsent()true
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 besser kontrollieren, welche Inhalte Nutzern in Anzeigen präsentiert werden. Diese Einstellung hilft Ihnen, die Plattformrichtlinien einzuhalten.
Apps können mit der
setMaxAdContentRating
Methode eine höchste Altersfreigabe für Anzeigeninhalte für ihre Anzeigenanfragen festlegen. Für AdMob-Anzeigen, die zurückgegeben werden, wenn diese Einstellung konfiguriert ist, gilt eine Altersfreigabe, die dieser Stufe entspricht oder darunter liegt. Die möglichen Werte für diese Netzwerkerweiterung basieren auf
den Kennzeichnungen für digitale Inhalteund müssen einer der folgenden
Strings sein:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_AD_CONTENT_RATING_MA
Im folgenden Code wird ein RequestConfiguration-Objekt konfiguriert, um anzugeben, dass die zurückgegebenen Anzeigeninhalte einer Kennzeichnung für digitale Inhalte entsprechen müssen, 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 personalisierten Anzeigen für alle Anzeigenanfragen mit der
setPublisherPrivacyPersonalizationState()
Methode deaktiviert werden sollen. 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 für 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.
Netzwerkerweiterungen hinzufügen
Netzwerkerweiterungen sind zusätzliche Details, die mit einer Anzeigenanfrage gesendet werden und für eine einzelne Anzeigenquelle spezifisch sind.
Mit dem 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) auszurichten. 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. Beispielsweise, um auf Personen in ihren Zwanzigern statt nur auf 25-Jährige auszurichten.
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, indem Sie die
addCategoryExclusion()
Methode verwenden:
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 vom Publisher bereitgestellte Kennung (Publisher Provided Identifier, PPID) 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 ist 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 vom Publisher bereitgestellten Kennungen (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, indem Sie den Bietern in allen Transaktionstypen Ihre Zielgruppeneigenschaften mithilfe von Standardtaxonomien mitteilen, ohne Nutzerkennungen weitergeben zu müssen. Zu Ihren Zielgruppen eigenschaften können Verhaltens- und interessenbezogene Daten (IAB-Taxonomie für Zielgruppen 1.1) und Kontext daten (IAB-Taxonomie für Inhalte 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 auf Inhalte ausgerichtete Anzeigen und die 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 anzeigen, können eine kurze Liste von URLs bereitstellen:
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.