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 Ihres AdMob-Kontos. 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.

SDK importieren

CocoaPods (bevorzugt)

Am einfachsten importieren Sie das SDK in ein iOS-Projekt mit CocoaPods. Öffnen Sie die Podfile-Datei Ihres Projekts und fügen Sie diese Zeile dem Ziel Ihrer App hinzu:

pod 'GoogleUserMessagingPlatform'

Führen Sie dann den folgenden Befehl aus:

pod install --repo-update

Wenn Sie noch nicht mit CocoaPods vertraut sind, finden Sie unter CocoaPods verwenden weitere Informationen zum Erstellen und Verwenden von Podfiles.

Swift Package Manager

Das UMP SDK unterstützt auch den Swift Package Manager. So importieren Sie das Swift-Paket:

  1. Installieren Sie in Xcode das UMP SDK-Swift-Paket, indem Sie zu File > Add Packages… (Datei > Pakete hinzufügen…) gehen.

  2. Suchen Sie in der angezeigten Eingabeaufforderung nach dem GitHub-Repository für das UMP SDK Swift Package:

    https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
    
  3. Wählen Sie die Version des UMP SDK Swift-Pakets aus, die Sie verwenden möchten. Für neue Projekte empfehlen wir die Verwendung von Up to Next Major Version.

Xcode löst dann die Paketabhängigkeiten auf und lädt sie im Hintergrund herunter. Weitere Informationen zum Hinzufügen von Paketabhängigkeiten finden Sie in diesem Artikel von Apple.

Manueller Download

Das SDK kann auch manuell importiert werden.

SDK herunterladen

Ziehen Sie das Framework dann in Ihr Xcode-Projekt und wählen Sie dabei Copy items if needed (Elemente bei Bedarf kopieren) aus.

Anschließend können Sie das Framework mit folgendem Befehl in jede benötigte Datei einfügen:

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

App-ID hinzufügen

Ihre Anwendungs-ID finden Sie in der AdMob-Benutzeroberfläche. Fügen Sie die ID mit dem folgenden Code-Snippet in Ihr Info.plist ein: Info.plist

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

Sie sollten bei jedem Start der App mit requestConsentInfoUpdate(with:completionHandler:) 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.

Swift


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

SwiftUI


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

Objective-C


// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable requestConsentError) {
                           // ...
                         }];

Datenschutzmitteilungsformular laden und präsentieren

Nachdem Sie den aktuellen Einwilligungsstatus erhalten haben, rufen Sie loadAndPresentIfRequired(from:) auf, um alle Formulare zu laden, die zum Einholen der Nutzereinwilligung erforderlich sind. Nach dem Laden werden die Formulare sofort angezeigt.

Swift


try await ConsentForm.loadAndPresentIfRequired(from: viewController)

SwiftUI


try await ConsentForm.loadAndPresentIfRequired(from: nil)

Objective-C


[UMPConsentForm
    loadAndPresentIfRequiredFromViewController:viewController
                             completionHandler:^(NSError *_Nullable loadAndPresentError) {
                                 // Consent gathering process is complete.
                                }];

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.

Prüfen, ob ein Einstiegspunkt für Datenschutzoptionen erforderlich ist

Nachdem Sie requestConsentInfoUpdate(with:completionHandler:) aufgerufen haben, prüfen Sie UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus, um festzustellen, 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 Datenschutz-Einstiegspunkt erforderlich ist, konfigurieren Sie das UI-Element so, dass es nicht sichtbar und nicht interaktiv ist.

Swift


var isPrivacyOptionsRequired: Bool {
  return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}

Objective-C


- (BOOL)isPrivacyOptionsRequired {
  return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
         UMPPrivacyOptionsRequirementStatusRequired;
}

Eine vollständige Liste der Status der Datenschutzoptionen finden Sie unter UMPPrivacyOptionsRequirementStatus.

Datenschutzoptionen-Formular präsentieren

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

Swift


try await ConsentForm.presentPrivacyOptionsForm(from: viewController)

SwiftUI


try await ConsentForm.presentPrivacyOptionsForm(from: nil)

Objective-C


[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
                                          completionHandler:completionHandler];

Anzeigen mit Nutzereinwilligung anfordern

Bevor Sie Anzeigen anfordern, prüfen Sie mit UMPConsentInformation.sharedInstance.canRequestAds, ob Sie die Einwilligung des Nutzers eingeholt haben:

Swift

ConsentInformation.shared.canRequestAds

Objective-C

UMPConsentInformation.sharedInstance.canRequestAds;

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 requestConsentInfoUpdate(with:completionHandler:). 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.

Redundante Anzeigenanfragen vermeiden

Achten Sie beim Prüfen von UMPConsentInformation.sharedInstance.canRequestAds nach dem Einholen der Einwilligung und nach dem Aufrufen von requestConsentInfoUpdate(with:completionHandler:) darauf, dass Ihre Logik redundante Anzeigenanfragen verhindert, die dazu führen könnten, dass bei beiden Prüfungen true zurückgegeben wird. Zum Beispiel mit einer booleschen Variablen.

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 requestConsentInfoUpdate(with:completionHandler:) 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:

    <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 UMPDebugSettings().testDeviceIdentifiers aufgerufen und eine Liste Ihrer Testgeräte-IDs übergeben wird.

    Swift

    let parameters = RequestParameters()
    let debugSettings = DebugSettings()
    
    debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
    parameters.debugSettings = debugSettings
    
    // Include the UMPRequestParameters in your consent request.
    ConsentInformation.shared.requestConsentInfoUpdate(
        with: parameters,
        completionHandler: { error in
          // ...
        })
    

    Objective-C

    UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
    UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
    
    debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
    parameters.debugSettings = debugSettings;
    
    // Include the UMPRequestParameters in your consent request.
    [UMPConsentInformation.sharedInstance
        requestConsentInfoUpdateWithParameters:parameters
                            completionHandler:^(NSError *_Nullable error){
                              // ...
    }];
    

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 geography. Die Debugging-Einstellungen funktionieren nur auf Testgeräten.

Swift

let parameters = RequestParameters()
let debugSettings = DebugSettings()

debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings

// Include the UMPRequestParameters in your consent request.
ConsentInformation.shared.requestConsentInfoUpdate(
    with: parameters,
    completionHandler: { error in
      // ...
    })

Objective-C

UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];

debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;

// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable error){
                           // ...
}];

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.

Swift

ConsentInformation.shared.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

Beispiele auf GitHub

Ein vollständiges Beispiel für die UMP SDK-Integration, die auf dieser Seite behandelt wird, finden Sie unter