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
In Ihrem Ad Manager-Konto können Sie auf dem Tab Datenschutz und Mitteilungen eine der verfügbaren Mitteilungstypen für Nutzer erstellen. Das UMP SDK versucht, eine Datenschutzmitteilung anzuzeigen, die anhand der in Ihrem Projekt festgelegten Ad Manager-Anwendungs-ID erstellt wurde.
Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.
Einwilligung einholen
So holen Sie die Einwilligung ein:
- Informationen zur aktuellen Nutzereinwilligung anfordern
- Laden Sie bei Bedarf ein Einwilligungsformular hoch und legen Sie es vor.
Anforderung von Informationen zur Einwilligung
Sie sollten bei jedem Start der App mithilfe von requestConsentInfoUpdate()
ein Update der Einwilligungsinformationen des Nutzers anfordern. Dabei wird Folgendes geprüft:
- Ob eine Einwilligung erforderlich ist Beispiel: Die Einwilligung ist 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.
Laden Sie bei Bedarf ein Formular für den Datenschutzhinweis und präsentieren Sie es.
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.
Im folgenden Code wird gezeigt, wie Sie die aktuellen Einwilligungsinformationen des Nutzers anfordern. Falls erforderlich, wird der Code geladen und ein Formular mit einer Datenschutzmitteilung 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, über den Nutzer ihre Datenschutzoptionen jederzeit verwalten können. Weitere Informationen dazu, welche Mitteilung Ihre Nutzer am 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()
angerufen haben, prüfen Sie getPrivacyOptionsRequirementStatus()
, um festzustellen, ob ein Einstiegspunkt für Datenschutzoptionen für Ihre App erforderlich ist:
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Ihrer App ein sichtbares Element hinzufügen
Wenn ein Einstiegspunkt für den Datenschutz erforderlich ist, fügen Sie Ihrer App ein sichtbares und interaktives UI-Element hinzu, über das das Formular für die Datenschutzoptionen angezeigt wird. Wenn kein Einstiegspunkt für den Datenschutz erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
// Redraw the app bar actions if a privacy options entry point is required.
if (await isPrivacyOptionsRequired()) {
setState(() {
_isPrivacyOptionsRequired = true;
});
}
});
},
// ...
Präsentieren Sie das Formular für Datenschutzoptionen
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}");
}
});
Anzeigenanfrage senden
Bevor Sie Anzeigen in Ihrer App anfordern, prüfen Sie, ob Sie die Einwilligung des Nutzers mithilfe von canRequestAds()
eingeholt haben. Es gibt zwei Möglichkeiten, die Einwilligung einzuholen:
- Nachdem in der aktuellen Sitzung die Einwilligung eingeholt wurde.
- Unmittelbar nach dem Anruf bei
requestConsentInfoUpdate()
. Möglicherweise wurde die Einwilligung in der vorherigen Sitzung erteilt. Wir empfehlen, nicht auf den Abschluss des Rückrufs zu warten, damit Sie nach der Einführung Ihrer App so schnell wie möglich mit dem Laden von Anzeigen beginnen können.
Wenn bei der Einwilligungsabfrage ein Fehler auftritt, sollten Sie trotzdem prüfen, ob Sie Anzeigen anfordern können. Das UMP SDK verwendet den Einwilligungsstatus aus der vorherigen Sitzung.
Im folgenden Code wird geprüft, ob Sie während des Einholens der Einwilligung Anzeigen anfordern können:
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
// ...
});
},
(FormError error) {},
);
// Check if you can initialize the Mobile Ads SDK in parallel while
// checking for new consent information. Consent obtained in the
// previous session can be used to request ads.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
Mit dem folgenden Code wird das Google Mobile Ads SDK eingerichtet, nachdem die Einwilligung des Nutzers eingeholt wurde:
void _initializeGoogleMobileAdsSDK() async {
if (_isMobileAdsInitializeCalled) {
return;
}
_isMobileAdsInitializeCalled = true;
// Initialize the Mobile Ads SDK.
MobileAds.instance.initialize();
// Load an ad.
_loadAd();
}
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 das Verhalten Ihrer App mithilfe von debugGeography
testen, als befände sich das Gerät in verschiedenen Regionen, z. B. im EWR oder im Vereinigten Königreich. 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.