Das UMP SDK (User Messaging Platform) von Google ist ein Tool für Datenschutz und Mitteilungen, mit dem Sie Ihre Datenschutzeinstellungen verwalten können. Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Nachrichtentyp erstellen
Erstellen Sie Nutzermitteilungen mit einem der verfügbaren Mitteilungstypen auf dem Tab Datenschutz und Mitteilungen Ihres AdMob-Kontos. Das UMP SDK versucht, eine Datenschutzmitteilung anzuzeigen, die anhand der in Ihrem Projekt festgelegten AdMob-Anwendungs-ID erstellt wurde.
Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Einwilligungsinformationen des Nutzers abrufen
Sie sollten bei jedem Start der App mithilfe von requestConsentInfoUpdate()
ein Update der Einwilligungsinformationen des Nutzers anfordern. Bei dieser Anfrage wird Folgendes geprüft:
- Ob eine Einwilligung erforderlich ist Beispielsweise ist die Einwilligung zum ersten Mal erforderlich oder die vorherige Einwilligungsentscheidung ist abgelaufen.
- Ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist Einige Datenschutzmitteilungen erfordern, dass Nutzer ihre Datenschutzoptionen jederzeit ändern können.
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
// Called when consent information is successfully updated.
},
(FormError error) {
// Called when there's an error updating consent information.
},
);
}
Formular für Datenschutzmitteilungen laden und anzeigen
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.
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
});
},
(FormError error) {
// Handle the error.
},
);
}
Datenschutzoptionen
Einige Formulare für Datenschutzmitteilungen werden über einen vom Publisher gerenderten Einstiegspunkt für Datenschutzoptionen angezeigt. So können Nutzer ihre Datenschutzoptionen jederzeit verwalten. Weitere Informationen dazu, welche Mitteilung Ihre Nutzer beim Einstiegspunkt für die 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 mit getPrivacyOptionsRequirementStatus()
, 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, das das Formular für die Datenschutzoptionen enthält. Wenn kein Einstiegspunkt für den Datenschutz erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Eine vollständige Liste der Status der Anforderungen an die Datenschutzoptionen finden Sie unter
.PrivacyOptionsRequirementStatus
Formular für Datenschutzoptionen präsentieren
Wenn der Nutzer mit Ihrem Element interagiert, wird das Formular mit den Datenschutzoptionen angezeigt:
ConsentForm.showPrivacyOptionsForm((formError) {
if (formError != null) {
debugPrint("${formError.errorCode}: ${formError.message}");
}
});
Anzeigen mit Nutzereinwilligung anfordern
Bevor Sie Anzeigen anfordern, prüfen Sie mit canRequestAds()
, ob Sie die Einwilligung des Nutzers eingeholt haben:
await ConsentInformation.instance.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 in der aktuellen Sitzung die Einwilligung eingeholt hat.
- Unmittelbar nach dem Anruf bei
requestConsentInfoUpdate()
. Das UMP SDK hat möglicherweise in der vorherigen App-Sitzung die Einwilligung eingeholt.
Wenn bei der Einwilligungserhebung ein Fehler auftritt, prüfen Sie, ob Sie Anzeigen anfordern können. Das UMP SDK verwendet den Einwilligungsstatus aus der vorherigen App-Sitzung.
Redundante Arbeit bei Anzeigenanfragen vermeiden
Achten Sie beim Prüfen von canRequestAds()
nach dem Einholen der Einwilligung und 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. Beispiel: mit einer booleschen Variablen.
Test
Wenn Sie die Integration in Ihrer App während der Entwicklung testen möchten, können Sie Ihr Testgerät wie unten beschrieben programmatisch 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 Protokollausgabe nach einer Meldung, die Ihrer Geräte-ID und der Anleitung zum Hinzufügen als Testgerät ähnelt:
Android
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
iOS
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
Kopieren Sie die ID des Testgeräts in die Zwischenablage.
Ändern Sie Ihren Code so, dass
ConsentDebugSettings.testIdentifiers
aufgerufen und eine Liste Ihrer Testgeräte-IDs übergeben wird.ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
Geografie erzwingen
Mit dem UMP SDK können Sie mithilfe von debugGeography
testen, wie sich Ihre App verhalten würde, wenn sich das Gerät in verschiedenen Regionen wie dem EWR oder dem Vereinigten Königreich befinden würde. Die Debug-Einstellungen funktionieren nur auf Testgeräten.
ConsentDebugSettings debugSettings = ConsentDebugSettings(
debugGeography: DebugGeography.debugGeographyEea,
testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);
ConsentRequestParameters params =
ConsentRequestParameters(consentDebugSettings: debugSettings);
ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
// ...
};
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 Erstinstallation eines Nutzers simulieren können.
Dazu bietet das SDK die Methode reset()
.
ConsentInformation.instance.reset();
Beispiele auf GitHub
Ein vollständiges Beispiel für die auf dieser Seite beschriebene UMP SDK-Integration finden Sie in unseren Flutter-Beispielen.