Los gehts

Plattform auswählen:Android iOS Unity Flutter

Das Google User Messaging Platform (UMP) SDK ist ein Datenschutz- und Mitteilungstool, mit dem Sie Datenschutzeinstellungen verwalten können. Weitere Informationen finden Sie hier.

Nachrichtentyp 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 anhand der in Ihrem Projekt festgelegten AdMob-App-ID erstellt wurde.

Weitere Informationen finden Sie unter Datenschutz und Mitteilungen.

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

  • Ob eine Einwilligung erforderlich ist Das ist beispielsweise der Fall, wenn die Einwilligung zum ersten Mal erforderlich ist oder die vorherige Einwilligungserklärung abgelaufen ist.
  • Ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist Bei einigen Datenschutzmitteilungen müssen Apps Nutzern die Möglichkeit geben, ihre Datenschutzeinstellungen jederzeit zu ändern.
void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

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

void OnConsentInfoUpdated(FormError consentError)
{
    // If the error is null, the consent information state was updated.
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }
}

Datenschutzmitteilungsformular 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.

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // 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.
    });
}

Datenschutzoptionen

Einige Formulare für Datenschutzmitteilungen werden über einen vom Publisher gerenderten Einstiegspunkt für Datenschutzoptionen präsentiert. So können Nutzer ihre Datenschutzoptionen jederzeit verwalten. Weitere Informationen dazu, welche Mitteilung Ihre Nutzer am Einstiegspunkt für Datenschutzoptionen sehen, finden Sie unter Verfügbare Arten von Nutzermitteilungen.

So implementieren Sie einen Einstiegspunkt für Datenschutzoptionen:

  1. Nachdem Sie Update() aufgerufen haben, prüfen Sie in PrivacyOptionsRequirementStatus, ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist.
  2. Fügen Sie Ihrer App bei Bedarf ein sichtbares und interaktives UI-Element als Einstiegspunkt für die Datenschutzoptionen hinzu. Wenn kein Datenschutz-Einstiegspunkt erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.
  3. Das Formular für Datenschutzoptionen wird mit ShowPrivacyOptionsForm() präsentiert.

Das folgende Codebeispiel veranschaulicht diese Schritte:

[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.
        UpdatePrivacyButton();
    });
}

/// <summary>
/// Updates the privacy buttons visual state based on the consent information.
/// </summary>
void UpdatePrivacyButton()
{
    if (_privacyButton != null)
    {
        _privacyButton.interactable =
            ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
    }
}

Anzeigen mit Nutzereinwilligung anfordern

Bevor Sie Anzeigen anfordern, prüfen Sie mit CanRequestAds(), ob Sie die Einwilligung des Nutzers eingeholt haben:

Hier finden Sie eine Liste der Stellen, an denen Sie Anzeigen anfordern können, während Sie die Einwilligung einholen:

  • Nachdem das UMP SDK die Einwilligung in der aktuellen Sitzung eingeholt hat.
  • Unmittelbar nach dem Aufrufen von Update(). Das UMP SDK hat möglicherweise in der vorherigen App-Sitzung die Einwilligung eingeholt.

Wenn während des Prozesses zum 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.

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // 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.
            });
        }
    });
    
}

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 einfach Update() an.
  2. Suchen Sie in der Log-Ausgabe nach einer Meldung, die dem folgenden Beispiel ähnelt. Dort finden Sie Ihre Geräte-ID und eine Anleitung dazu, 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 DebugGeography.TestDeviceHashedIds aufgerufen und eine Liste Ihrer Testgeräte-IDs übergeben wird.

    void Start()
    {
        var debugSettings = new ConsentDebugSettings
        {
            TestDeviceHashedIds =
            new List<string>
            {
                "TEST-DEVICE-HASHED-ID"
            }
        };
    
        // Create a ConsentRequestParameters object.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            ConsentDebugSettings = debugSettings,
        };
    
        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }
    

Geografie erzwingen

Mit dem UMP SDK können Sie das Verhalten Ihrer App so testen, als ob sich das Gerät in verschiedenen Regionen wie dem EWR oder dem Vereinigten Königreich befände. Dazu verwenden Sie DebugGeography. Die Debugging-Einstellungen 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"
        }
    };

    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        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, um die erste Installation durch einen Nutzer zu simulieren. Das SDK bietet die Methode Reset(), um dies zu tun.

ConsentInformation.Reset();

Beispiele auf GitHub

Ein vollständiges Beispiel für die auf dieser Seite beschriebene UMP SDK-Integration finden Sie unter HelloWorld.