UMP SDK einrichten

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.

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 aus der in Ihrem Projekt festgelegten AdMob-Anwendungs-ID erstellt wurde.

Sie sollten bei jedem App-Start mit requestConsentInfoUpdate() eine Aktualisierung der Einwilligungsinformationen des Nutzers anfordern. Mit dieser Anfrage wird Folgendes geprüft:

  • Ob eine Einwilligung erforderlich ist. Beispielsweise ist die Einwilligung zum ersten Mal erforderlich oder die vorherige Einwilligung ist abgelaufen.
  • Ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist. Bei einigen Datenschutzmitteilungen müssen Nutzer in Apps die Möglichkeit haben, ihre Datenschutzoptionen jederzeit zu ändern.
/**
 * Requests consent information update on app launch.
 */
export function requestConsent(onComplete?: () => void) {
  requestConsentInfoUpdate({}, (error) => {
    if (error) {
      console.warn('Consent info update error:', error.message);
    } else {
      console.log('Consent info update complete.');
    }

    // Load and show consent form if required.
    loadAndPresentConsentForm(onComplete);
  });
}

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. Nach dem Laden werden die Formulare sofort angezeigt.

/**
 * Loads and presents the privacy message form if required to collect user consent.
 */
export function loadAndPresentConsentForm(onComplete?: () => void) {
  loadAndShowConsentFormIfRequired((formError) => {
    if (formError) {
      console.warn('Consent form error:', formError.message);
    } else {
      console.log('Consent gathering complete.');
    }

    // Execute logic that depends on consent state (for example, initialize the SDK).
    onComplete?.();
  });
}

Datenschutzoptionen

Einige Formen von Datenschutzmitteilungen werden über einen vom Publisher gerenderten Einstiegspunkt für Datenschutzoptionen angezeigt, sodass Nutzer ihre Datenschutzoptionen jederzeit verwalten können. 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 anhand von 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, über das das Formular für die Datenschutzoptionen aufgerufen werden kann. Wenn kein Einstiegspunkt für den Datenschutz erforderlich ist, konfigurieren Sie Ihr UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.

/**
 * Helper to determine if the privacy options entry point is required.
 */
export function isPrivacyOptionsRequired(): boolean {
  return (
    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 mit den Datenschutzoptionen:

/**
 * Renders a privacy options button if required by user consent policy.
 */
export function PrivacyOptionsButton({
  onDismissed,
}: {
  onDismissed?: (error?: FormError) => void;
}) {
  const isRequired =
    getPrivacyOptionsRequirementStatus() ===
    PrivacyOptionsRequirementStatus.REQUIRED;

  if (!isRequired) {
    return null;
  }

  const handleShowPrivacyOptions = () => {
    showPrivacyOptionsForm((error) => {
      if (error) {
        console.error('Failed to show privacy options form:', error.message);
      } else {
        console.log('Privacy options form dismissed.');
      }

      // Execute custom logic after form is dismissed.
      onDismissed?.(error);
    });
  };

  return <Button title="Privacy Settings" onPress={handleShowPrivacyOptions} />;
}

Anzeigen mit Nutzereinwilligung anfordern

Prüfen Sie vor dem Anfordern von Anzeigen mit canRequestAds(), ob Sie die Einwilligung des Nutzers eingeholt haben:

/**
 * Checks whether user consent allows requesting ads and initializes the SDK.
 */
let isMobileAdsInitialized = false;

export function initializeMobileAdsSdkIfConsentGiven() {
  if (canRequestAds()) {
    if (!isMobileAdsInitialized) {
      isMobileAdsInitialized = true;
      initialize({}, (status) => {
        console.log('Google Mobile Ads SDK initialized:', status);
      });
    }
  }
}

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 du requestConsentInfoUpdate() angerufen hast. Das UMP SDK hat möglicherweise in der vorherigen App-Sitzung die Einwilligung eingeholt.

Wenn während 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 Anzeigenanfragen vermeiden

Wenn Sie canRequestAds() prüfen, nachdem Sie die Einwilligung eingeholt und requestConsentInfoUpdate() aufgerufen haben, sollten Sie darauf achten, dass Ihre Logik redundante Anzeigenanfragen verhindert, die dazu führen könnten, dass beide Prüfungen true zurückgeben. Beispielsweise mit einer booleschen Variable.

Test

Wenn Sie die Integration in Ihrer App während der Entwicklung testen möchten, gehen Sie so vor, 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 einfach requestConsentInfoUpdate() an.
  2. Suchen Sie in der Logausgabe nach einer Meldung, die in etwa wie im folgenden Beispiel aussieht. Sie enthält Ihre Geräte-ID und eine Anleitung, 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 Geräte-ID Ihres Testgeräts in die Zwischenablage.

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

    /**
     * Registers a test device for testing consent flows.
     */
    export function configureTestDevice() {
      requestConsentInfoUpdate(
        {
          consentDebugSettings: {
            debugGeography: DebugGeography.DISABLED,
            testDeviceIdentifiers: ["TEST_DEVICE_HASHED_ID"],
          },
        },
        (error) => {
          if (!error) {
            console.log('Test device registered.');
          }
        },
      );
    }

Geografie erzwingen

Mit dem UMP SDK können Sie testen, wie sich Ihre App verhalten würde, wenn sich das Gerät in verschiedenen Regionen wie dem Europäischen Wirtschaftsraum (EWR), dem Vereinigten Königreich und der Schweiz befinden würde. Verwenden Sie dazu DebugGeography. Beachten Sie, dass die Debug-Einstellungen nur auf Testgeräten funktionieren.

/**
 * Configures debug settings to force EEA geography on a test device.
 */
export function configureDebugGeography() {
  requestConsentInfoUpdate(
    {
      consentDebugSettings: {
        debugGeography: DebugGeography.EEA,
        testDeviceIdentifiers: ["TEST_DEVICE_HASHED_ID"],
      },
    },
    (error) => {
      if (!error) {
        console.log('Consent debug test configuration loaded.');
      }
    },
  );
}

Wenn Sie Ihre App mit dem UMP SDK testen, kann es hilfreich sein, den Status des SDK zurückzusetzen, um die erste Installation durch einen Nutzer zu simulieren. Das SDK bietet dafür die Methode reset().

/**
 * Resets consent state for testing purposes.
 */
export function resetConsentState() {
  reset();
}