Das Google User Messaging Platform (UMP) SDK ist ein Tool für Datenschutz und Mitteilungen, mit dem Sie Datenschutzeinstellungen verwalten können. Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Mitteilungstyp erstellen
Erstellen Sie Nutzermitteilungen mit einem der verfügbaren Nutzermitteilungstypen auf dem Tab Datenschutz und Mitteilungen in Ihrem AdMob -Konto. Das UMP SDK versucht, eine Datenschutzmitteilung anzuzeigen, die aus der in Ihrem Projekt festgelegten AdMob-Anwendungs-ID erstellt wurde.
Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Anwendungs-ID hinzufügen
Ihre Anwendungs-ID finden Sie in der
AdMob-Benutzeroberfläche.
Fügen Sie die ID zu Ihrem
AndroidManifest.xml
mit dem folgenden Code-Snippet hinzu:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Informationen zur Einwilligung des Nutzers abrufen
So rufen Sie die Informationen zur Einwilligung 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 App
Start eine Aktualisierung der Informationen zur Einwilligung des Nutzers anfordern. Verwenden Sie dazu
requestConsentInfoUpdate(). Bei dieser Anfrage wird Folgendes geprüft:
- Ist eine Einwilligung erforderlich? Eine Einwilligung ist beispielsweise erforderlich, wenn der Nutzer die App zum ersten Mal verwendet oder die vorherige Einwilligung abgelaufen ist.
- Ist ein Einstiegspunkt für Datenschutzoptionen erforderlich? 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.
},
)
Formular für Datenschutzmitteilung 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. Die Formulare werden sofort nach dem Laden präsentiert.
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 Datenschutzeinstellungen jederzeit verwalten. Weitere Informationen dazu, welche Mitteilung Ihre Nutzer am Einstiegspunkt für Datenschutzoptionen sehen, finden Sie unter Verfügbare Nutzermitteilungstypen.
Prüfen, ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist
Nachdem Sie
requestConsentInfoUpdate() aufgerufen haben, prüfen Sie mit
getPrivacyOptionsRequirementStatus(), ob für Ihre App ein Einstiegspunkt für 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 Datenschutzoptionen präsentiert wird. Wenn kein Einstiegspunkt für Datenschutzoptionen erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und 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
Die vollständige Liste der Status für die Anforderungen an Datenschutzoptionen finden Sie unter
ConsentInformation.PrivacyOptionsRequirementStatus.
Formular für Datenschutzoptionen 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
Prüfen Sie vor dem Anfordern von Anzeigen mit
canRequestAds(), ob Sie die Einwilligung des Nutzers
eingeholt haben:
Java
consentInformation.canRequestAds();
Kotlin
consentInformation.canRequestAds()
An den folgenden Stellen können Sie prüfen, ob Sie Anzeigen anfordern können, während Sie die Einwilligung einholen:
- Nachdem das UMP SDK die Einwilligung in der aktuellen Sitzung eingeholt hat.
- Unmittelbar nachdem Sie
requestConsentInfoUpdate()aufgerufen haben. Das UMP SDK hat möglicherweise in der vorherigen App-Sitzung die Einwilligung eingeholt.
Wenn beim 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
Da Sie
canRequestAds() aufrufen, nachdem Sie die Einwilligung eingeholt und
requestConsentInfoUpdate() aufgerufen haben, muss Ihre Logik redundante Anzeigenanfragen verhindern, die
dazu führen könnten, dass beide Prüfungen true zurückgeben. Sie können beispielsweise eine boolesche Variable verwenden.
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
requestConsentInfoUpdate()auf. Suchen Sie in der Logausgabe nach einer Mitteilung, die dem folgenden Beispiel ähnelt. Dort sehen Sie Ihre Geräte-ID und wie Sie sie als Testgerät hinzufügen:
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.Kopieren Sie die Geräte-ID Ihres Testgeräts in die Zwischenablage.
Ändern Sie Ihren Code so, dass
ConsentDebugSettings.Builder().TestDeviceHashedIdsaufgerufen wird, und übergeben Sie eine Liste Ihrer Testgeräte-IDs.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, // ... )
Region erzwingen
Mit dem UMP SDK können Sie testen, wie sich Ihre App verhält, wenn sich das Gerät
in verschiedenen Regionen befindet, z. B. im Europäischen Wirtschaftsraum (EWR), im
Vereinigten Königreich und in der Schweiz, indem Sie
setDebugGeography() verwenden. Debug-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
Wenn Sie Ihre App mit dem UMP SDK testen, kann es hilfreich sein, den Status des SDK zurückzusetzen, damit Sie die erste Installation durch einen Nutzer simulieren können.
Das SDK bietet dazu die Methode reset().
Java
consentInformation.reset();
Kotlin
consentInformation.reset()