Jetzt loslegen

Gemäß der Richtlinie zur Einwilligung der Nutzer in der EU von Google müssen Sie Ihren Nutzern im Europäischen Wirtschaftsraum (EWR) sowie im Vereinigten Königreich bestimmte Informationen offenlegen und ihre Einwilligung zur Verwendung von Cookies oder anderen lokalen Speicherverfahren, falls gesetzlich erforderlich, sowie zur Verwendung personenbezogener Daten (z. B. Werbe-ID) zur Anzeigenbereitstellung einholen. Die Richtlinie entspricht den Anforderungen der EU-Datenschutzrichtlinie für elektronische Kommunikation und der EU-Datenschutz-Grundverordnung (DSGVO).

Google bietet das User Messaging Platform (UMP) SDK an, um Publisher bei der Umsetzung dieser Richtlinie zu unterstützen. Das UMP SDK wurde aktualisiert, um die neuesten IAB-Standards zu unterstützen. All diese Konfigurationen lassen sich jetzt bequem unter AdMob Datenschutz und Mitteilungen verwalten.

Voraussetzungen

Mitteilungstyp erstellen

Erstellen Sie Mitteilungen für Nutzer mit einer der verfügbaren Arten von Mitteilungen für Nutzer auf dem Tab Datenschutz und Mitteilungen in Ihrem AdMob Konto. Das UMP SDK versucht, eine Nutzernachricht anzuzeigen, die aus der in Ihrem Projekt festgelegten AdMob Anwendungs-ID erstellt wurde. Wenn für Ihre Anwendung keine Meldung konfiguriert ist, gibt das SDK einen Fehler zurück.

Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.

Sie sollten mit Update()bei jedem Start der App eine Aktualisierung der Einwilligungsinformationen des Nutzers anfordern. So wird festgelegt, ob Nutzer ihre Einwilligung geben müssen, falls sie dies noch nicht getan haben oder ob sie abgelaufen ist.

Hier ein Beispiel, wie Sie den Status beim Start der App überprüfen können:

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
}

Einwilligungsformular laden und anzeigen, falls erforderlich

Wichtig: Die folgenden APIs sind mit dem UMP SDK ab Version 2.1.0 kompatibel.

Nachdem Sie den aktuellen Einwilligungsstatus erhalten haben, rufen SieLoadAndShowConsentFormIfRequired() in der KlasseConsentForm auf, um ein Einwilligungsformular zu laden. Wenn der Einwilligungsstatus erforderlich ist, lädt das SDK ein Formular und stellt es sofortbereit. Der Action<FormError> callback wird aufgerufen , nachdem das Formular geschlossen wurde. Wenn keine Einwilligung erforderlich ist, wird die Action<FormError> callback mit sofort aufgerufen.

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }
    

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
    });
}

Wenn Sie Aktionen ausführen möchten, nachdem der Nutzer eine Auswahl getroffen oder das Formular geschlossen hat, fügen Sie die entsprechende Logik im Action<FormError> callbackfür Ihr Formular ein.

Anzeigenanfrage senden

Bevor Sie in Ihrer App Anzeigen anfordern, prüfen Sie, ob Sie über die Einwilligung des Nutzers eingeholt haben. Es gibt zwei Möglichkeiten, die Einwilligung beim Einholen der Einwilligung zu prüfen:

  1. Sobald die Einwilligung in der aktuellen Sitzung eingeholt wurde.
  2. Sofort nach dem Anruf bei Update(). Möglicherweise wurde bereits in der vorherigen Sitzung eine Einwilligung eingeholt. Als Best Practice für die Latenz sollten Sie nicht warten, bis der Callback abgeschlossen ist. So können Sie die Anzeigen so schnell wie möglich nach dem Start Ihrer App laden.
aufgerufen haben.

Falls beim Einholen der Einwilligung ein Fehler auftritt, sollten Sie trotzdem versuchen, Anzeigen anzufordern. Das UMP SDK verwendet den Einwilligungsstatus aus der vorherigen Sitzung.

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
        if (ConsentInformation.CanRequestAds())
        {
            MobileAds.Initialize((InitializationStatus initstatus) =>
            {
              // TODO: Request an ad.
            });
        }
    });
    
}

Datenschutzoptionen

Bei einigen Einwilligungsformularen muss der Nutzer seine Einwilligung jederzeit ändern. Führen Sie bei Bedarf die folgenden Schritte aus, um eine Schaltfläche für Datenschutzoptionen zu implementieren.

Folgende Schritte sind hierzu nötig:

  1. Implementieren Sie ein UI-Element, z. B. eine Schaltfläche auf der Einstellungsseite Ihrer App, durch die ein Formular mit Datenschutzoptionen aufgerufen werden kann.
  2. Wenn LoadAndShowConsentFormIfRequired() abgeschlossen ist, klicken Sie aufPrivacyOptionsRequirementStatus , um zu bestimmen, ob das UI-Element angezeigt werden soll, das das Formular für Datenschutzoptionen anzeigen kann.
  3. Wenn ein Nutzer mit Ihrem UI-Element interagiert, rufen SieShowPrivacyOptionsForm() auf, um das Formular aufzurufen, sodass der Nutzer seine Datenschutzoptionen jederzeit aktualisieren kann.

Das folgende Beispiel zeigt, wie das Formular für Datenschutzoptionen aus einem Button angezeigt wird.

[SerializeField, Tooltip("Button to show the privacy options form.")]
private Button _privacyButton;

private void Start()
{
  // Enable the privacy settings button.
  if (_privacyButton != null)
  {
      _privacyButton.onClick.AddListener(UpdatePrivacyButton);
      // Disable the privacy settings button by default.
      _privacyButton.interactable = false;
  }
}

/// <summary>
/// Shows the privacy options form to the user.
/// </summary>
public void ShowPrivacyOptionsForm()
{
    Debug.Log("Showing privacy options form.");

    ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form with error: " + showError.Message);
        }
        // Enable the privacy settings button.
        if (_privacyButton != null)
        {
            _privacyButton.interactable =
                ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
        }
    });
}

Testen

Wenn du die Einbindung in deine App während der Entwicklung testen möchtest, führe die folgenden Schritte aus, um dein Testgerät programmatisch zu registrieren.

  1. Rufen Sie Update()an.
  2. Suchen Sie in der Logausgabe nach einer Nachricht, die in etwa so aussieht:

    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. Kopiere die Testgeräte-ID in die Zwischenablage.

  4. Ändern Sie den Code so, dass Aufrufen DebugGeography.TestDeviceHashedIds und Übergeben einer Liste Ihrer Testgeräte-IDs gesetzt wird.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        TestDeviceHashedIds =
        new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

Region erzwingen

Mit dem UMP SDK können Sie mithilfe von the DebugGeography field on ConsentDebugSettingsdas Verhalten Ihrer App so testen, als befände sich das Gerät im EWR oder im Vereinigten Königreich. Die Einstellungen zur Fehlerbehebung funktionieren nur auf Testgeräten.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

Beim Testen Ihrer App mit dem UMP SDK kann es hilfreich sein, den Status des SDK zurückzusetzen, damit Sie die erste Installation eines Nutzers simulieren können. Das SDK bietet dazu die Methode Reset() .

ConsentInformation.Reset();