Das Google User Messaging Platform (UMP) SDK ist ein Datenschutz- und Mitteilungstool, mit dem Sie Datenschutzeinstellungen verwalten können. Weitere Informationen finden Sie hier.
Vorbereitung
- Android-API-Level 21 oder höher
Nachrichtentyp erstellen
Erstellen Sie Nutzermitteilungen mit einem der verfügbaren Nutzermitteilungstypen auf dem Tab Datenschutz und Mitteilungen Ihres AdMob-Kontos. Das UMP SDK versucht, eine Datenschutzmitteilung anzuzeigen, die anhand der in Ihrem Projekt festgelegten AdMob-App-ID erstellt wurde.
Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Mit Gradle installieren
Fügen Sie der Gradle-Datei Ihres Moduls auf App-Ebene, normalerweise app/build.gradle
, die Abhängigkeit für das Google User Messaging Platform SDK hinzu:
dependencies {
implementation("com.google.android.ump:user-messaging-platform:3.1.0")
}
Nachdem Sie die Änderungen an der build.gradle
Ihrer App vorgenommen haben, müssen Sie Ihr Projekt mit Gradle-Dateien synchronisieren.
App-ID hinzufügen
Ihre Anwendungs-ID finden Sie in der AdMob-Benutzeroberfläche.
Fügen Sie die ID mit dem folgenden Code-Snippet in Ihr AndroidManifest.xml
ein:
AndroidManifest.xml
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Einwilligungsinformationen des Nutzers abrufen
So rufen Sie die Einwilligungsinformationen des Nutzers ab:
Deklarieren Sie eine Instanz von ConsentInformation
:
Java
private final ConsentInformation consentInformation;
Kotlin
private lateinit val consentInformation: ConsentInformation
Initialisieren Sie die ConsentInformation
-Instanz:
Java
consentInformation = UserMessagingPlatform.getConsentInformation(context);
Kotlin
consentInformation = UserMessagingPlatform.getConsentInformation(context)
Sie sollten bei jedem Start der App mit
requestConsentInfoUpdate()
eine Aktualisierung der Einwilligungsinformationen des Nutzers anfordern. Bei dieser Anfrage wird Folgendes geprüft:
- Ob eine Einwilligung erforderlich ist Das ist beispielsweise der Fall, wenn die Einwilligung zum ersten Mal erforderlich ist oder die vorherige Einwilligungserklärung abgelaufen ist.
- Ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist Bei einigen Datenschutzmitteilungen müssen Apps Nutzern die Möglichkeit geben, ihre Datenschutzeinstellungen jederzeit zu ändern.
Java
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
() -> // Called when consent information is successfully updated.
requestConsentError -> // Called when there's an error updating consent information.
Kotlin
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
{
// Called when consent information is successfully updated.
},
{ requestConsentError ->
// Called when there's an error updating consent information.
},
)
Datenschutzmitteilungsformular laden und präsentieren
Nachdem Sie den aktuellen Einwilligungsstatus erhalten haben, rufen Sie
loadAndShowConsentFormIfRequired()
auf, um alle Formulare zu laden, die zum Einholen der Nutzereinwilligung erforderlich sind. Nach dem Laden werden die Formulare sofort angezeigt.
Java
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
activity,
formError -> {
// Consent gathering process is complete.
});
Kotlin
UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
// Consent gathering process is complete.
}
Datenschutzoptionen
Einige Formulare für Datenschutzmitteilungen werden über einen vom Publisher gerenderten Einstiegspunkt für Datenschutzoptionen präsentiert. So können Nutzer ihre Datenschutzoptionen jederzeit verwalten. Weitere Informationen dazu, welche Mitteilung Ihre Nutzer am Einstiegspunkt für Datenschutzoptionen sehen, finden Sie unter Verfügbare Arten von Nutzermitteilungen.
Prüfen, ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist
Nachdem Sie
requestConsentInfoUpdate()
aufgerufen haben, prüfen Sie
getPrivacyOptionsRequirementStatus()
, um festzustellen, ob für Ihre App ein Einstiegspunkt für die Datenschutzoptionen erforderlich ist. Wenn ein Einstiegspunkt erforderlich ist, fügen Sie Ihrer App ein sichtbares und interaktives UI-Element hinzu, über das das Formular für die Datenschutzoptionen aufgerufen werden kann. Wenn kein Datenschutz-Einstiegspunkt erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.
Java
/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
return consentInformation.getPrivacyOptionsRequirementStatus()
== PrivacyOptionsRequirementStatus.REQUIRED;
}
Kotlin
/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
get() =
consentInformation.privacyOptionsRequirementStatus ==
ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED
Eine vollständige Liste der Status der Datenschutzoptionen finden Sie unter
ConsentInformation.PrivacyOptionsRequirementStatus
.
Datenschutzoptionen-Formular präsentieren
Wenn der Nutzer mit Ihrem Element interagiert, präsentieren Sie das Formular für Datenschutzoptionen:
Java
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);
Kotlin
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)
Anzeigen mit Nutzereinwilligung anfordern
Bevor Sie Anzeigen anfordern, prüfen Sie mit
canRequestAds()
, ob Sie die Einwilligung des Nutzers eingeholt haben:
Java
consentInformation.canRequestAds();
Kotlin
consentInformation.canRequestAds()
Hier finden Sie eine Liste der Stellen, an denen Sie Anzeigen anfordern können, während Sie die Einwilligung einholen:
- Nachdem das UMP SDK die Einwilligung in der aktuellen Sitzung eingeholt hat.
- Unmittelbar nach dem Aufrufen von
requestConsentInfoUpdate()
. Das UMP SDK hat möglicherweise in der vorherigen App-Sitzung die Einwilligung eingeholt.
Wenn während des Prozesses zum Einholen der Einwilligung ein Fehler auftritt, prüfen Sie, ob Sie Anzeigen anfordern können. Das UMP SDK verwendet den Einwilligungsstatus aus der vorherigen App-Sitzung.
Redundante Anzeigenanfragen vermeiden
Achten Sie beim Prüfen von
canRequestAds()
nach dem Einholen der Einwilligung und nach dem Aufrufen von
requestConsentInfoUpdate()
darauf, dass Ihre Logik redundante Anzeigenanfragen verhindert, die dazu führen könnten, dass bei beiden Prüfungen true
zurückgegeben wird. Zum Beispiel mit einer booleschen Variablen.
Test
Wenn Sie die Integration während der Entwicklung in Ihrer App testen möchten, folgen Sie dieser Anleitung, um Ihr Testgerät programmatisch zu registrieren. Entfernen Sie den Code, mit dem diese Testgeräte-IDs festgelegt werden, bevor Sie Ihre App veröffentlichen.
- Rufen Sie einfach
requestConsentInfoUpdate()
an. Suchen Sie in der Log-Ausgabe nach einer Meldung, die dem folgenden Beispiel ähnelt. Dort finden Sie Ihre Geräte-ID und eine Anleitung dazu, wie Sie sie als Testgerät hinzufügen:
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
Kopieren Sie die ID Ihres Testgeräts in die Zwischenablage.
Ändern Sie Ihren Code so, dass
ConsentDebugSettings.Builder().TestDeviceHashedIds
aufgerufen und eine Liste Ihrer Testgeräte-IDs übergeben wird.Java
ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build(); ConsentRequestParameters params = new ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build(); consentInformation = UserMessagingPlatform.getConsentInformation(this); // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... );
Kotlin
val debugSettings = ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build() val params = ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build() consentInformation = UserMessagingPlatform.getConsentInformation(this) // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... )
Geografie erzwingen
Mit dem UMP SDK können Sie das Verhalten Ihrer App so testen, als ob sich das Gerät in verschiedenen Regionen wie dem EWR oder dem Vereinigten Königreich befände. Dazu verwenden Sie setDebugGeography()
. Die Debugging-Einstellungen funktionieren nur auf Testgeräten.
Java
ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build();
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
);
Kotlin
val debugSettings = ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build()
val params = ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
)
Einwilligungsstatus zurücksetzen
Beim Testen Ihrer App mit dem UMP SDK kann es hilfreich sein, den Status des SDK zurückzusetzen, um die erste Installation durch einen Nutzer zu simulieren.
Das SDK bietet die Methode reset()
, um dies zu tun.
Java
consentInformation.reset();
Kotlin
consentInformation.reset()
Beispiele auf GitHub
Ein vollständiges Beispiel für die UMP SDK-Integration, die auf dieser Seite behandelt wird, finden Sie unter Java BannerExample und Kotlin BannerExample.