UMP SDK einrichten

Das Google User Messaging Platform SDK (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-App-ID erstellt wurde.

Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.

Sie sollten bei jedem App-Start eine Aktualisierung der Einwilligungsinformationen des Nutzers mit requestConsentInfoUpdate() anfordern. 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.
@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 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.

@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 präsentiert, sodass Nutzer ihre Datenschutzeinstellungen jederzeit verwalten können. 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.

/// 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 für die Anforderungen an Datenschutzoptionen finden Sie unter PrivacyOptionsRequirementStatus.

Formular für Datenschutzoptionen präsentieren

Wenn der Nutzer mit Ihrem Element interagiert, präsentieren Sie das Formular für Datenschutzoptionen:

ConsentForm.showPrivacyOptionsForm((formError) {
  if (formError != null) {
    debugPrint("${formError.errorCode}: ${formError.message}");
  }
});

Anzeigen mit Nutzereinwilligung anfordern

Prüfen Sie vor dem Anfordern von Anzeigen 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 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

Wenn Sie canRequestAds() aufrufen, nachdem Sie die Einwilligung eingeholt und requestConsentInfoUpdate() aufgerufen haben, müssen Sie mit Ihrer Logik verhindern, dass redundante Anzeigenanfragen gesendet werden, 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.

  1. Rufen Sie requestConsentInfoUpdate() auf.
  2. 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:

    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]
    
  3. Kopieren Sie die ID Ihres Testgeräts in die Zwischenablage.

  4. Ändern Sie Ihren Code so, dass ConsentDebugSettings.testIdentifiers aufgerufen wird, und übergeben Sie eine Liste Ihrer Testgeräte-IDs.

    ConsentDebugSettings debugSettings = ConsentDebugSettings(
      testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
    );
    
    ConsentRequestParameters params =
        ConsentRequestParameters(consentDebugSettings: debugSettings);
    
    ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
      // ...
    };
    

Geografische Region erzwingen

Mit dem UMP SDK können Sie das Verhalten Ihrer App so testen, als wäre das Gerät in verschiedenen Regionen, z. B. im Europäischen Wirtschaftsraum (EWR), im Vereinigten Königreich und in der Schweiz. Verwenden Sie dazu debugGeography. 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 {
  // ...
};

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 dafür die Methode reset().

ConsentInformation.instance.reset();

Beispiele auf GitHub

Ein vollständiges Beispiel für die UMP SDK-Integration, die auf dieser Seite behandelt wird, finden Sie in unseren Flutter-Beispielen.