[iOS] 1. consentmanager SDK-Integration
In diesem Dokument finden Sie allgemeine Informationen zur Integration unseres SDK in Ihr Projekt. Weitere Einzelheiten entnehmen Sie bitte unserer API-Referenz Dokumentation.
1. Installation
consentmanager SDK ist eine umfassende Lösung für die Verwaltung der Benutzereinwilligung in mobilen Anwendungen. Dieses SDK wurde für die Einhaltung der DSGVO, die Berücksichtigung von Benutzerdatenschutzeinstellungen und die Transparenz der Anzeigenverfolgung entwickelt und bietet eine nahtlose Integration für iOS- und Android-Plattformen. Darüber hinaus bietet es Wrapper-Plugins/Bridges für React Native, Flutter und Unity, wodurch es in verschiedenen Entwicklungsumgebungen vielseitig einsetzbar ist.
Schritte – Beschreibung auf hoher Ebene
-
Integration und Konfiguration:
- Integrieren Sie das SDK in Ihre App.
- Konfigurieren Sie die SDK-Einstellungen entsprechend Ihren Anforderungen.
-
Erstellen einer Instanz und Anzeigen des Consent Layers:
- Erstellen Sie beim Start der App eine Instanz von
CMPManager
Klasse. Diese Instanz übernimmt den Einwilligungsprozess. - Das SDK zeigt bei Bedarf automatisch den Zustimmungsbildschirm an.
- Erstellen Sie beim Start der App eine Instanz von
-
Verarbeitung der Einwilligungsdaten des Benutzers:
- Sobald die Einwilligungen eingeholt wurden, werden die Informationen gespeichert und stehen für Abfragen über verschiedene Eigenschaften und Methoden zur Verfügung, die unser SDK bereitstellt. Sie erhalten Informationen über abgelehnte oder akzeptierte Einwilligungen, Anbieter und Zwecke.
1.1 Integration und Konfiguration
Option 1: CocoaPods
Fügen Sie Ihrem Podfile die folgende Zeile hinzu:
pod 'cm-sdk-ios-v3', '3.1.1'
Dann renne:
pod install --repo-update
Option 2: Swift Package Manager
- Laden Sie das neueste XCFramework von unserem GitHub veröffentlicht Seite.
- Gehen Sie in XCode zum Menü
File
>Add Package Dependency
. - Fügen Sie oben die SDK-Repository-URL hinzu
- SPM ruft nun das Repository ab und fordert Sie auf, eine Version auszuwählen.
Sie können das Paket hinzufügen, indem Sie eine Versionsregel auswählen:
-Up to Next Major
: Dadurch wird das Paket auf die nächste Hauptversion aktualisiert. Dies ist die empfohlene Option, da sie Updates hinzufügt, die keine wichtigen Änderungen enthalten.
-Up to Next Minor
: Dadurch wird das Paket auf die nächste Nebenversion aktualisiert.
-Exact
: Dadurch wird das Paket an eine bestimmte Version gebunden. Es werden keine Updates installiert. - Importieren Sie das SDK, indem Sie oben in den Klassen, die die Methoden des SDK implementieren, die folgende Zeile einfügen:
import cm_sdk_ios_v3
- Gehen Sie in den Einstellungen Ihres Ziels zu „Allgemein“ > „Frameworks, Bibliotheken und eingebettete Inhalte“ und stellen Sie sicher, dass das Framework auf „Einbetten und signieren“ eingestellt ist.
1.2 Erstellen einer Instanz und Anzeigen der Zustimmungsebene
Innerhalb des App-Starts (Ihre viewDidLoad
Funktion), müssen Sie eine Instanz der Klasse erstellen CMPManager
Sie müssen zwei Objekte einrichten, die an die Methode getInstance übergeben werden: UrlConfig
, das Ihre CMP-Konfiguration verwaltet, wie Code-ID und Standardsprache, und ConsentLayerUIConfig
. Dadurch wird das Aussehen der WKWebView konfiguriert, die die Zustimmungsebene anzeigt. Danach übergeben Sie die aktuelle ViewController
mit der Methode setPresentingViewController
, und ordnen Sie den Delegaten zu, wie unten gezeigt. Im folgenden Beispiel finden Sie beide übergebenen Objekte. Die checkWithServerAndOpenIfNecessary()
Funktion holt automatisch die erforderlichen Daten von unserem Server ab und bestimmt, ob der Zustimmungsbildschirm angezeigt werden muss oder nicht. Wenn ja, zeigt das SDK an dieser Stelle automatisch den Zustimmungsbildschirm an, über eine WKWebView
Erstellt durch unser SDK, das die Zustimmungsebene mit dem Text und den Schaltflächen entsprechend Ihren CMP-Konfigurationen anzeigt (ausgewählt über die Code-ID Ihres CMP), die Daten sammelt und die Zustimmungsinformationen im Bereich NSUserDefaults des Geräts speichert, damit die App die zielgerichteten Anzeigen entsprechend anzeigen kann.
Bitte beachten Sie, dass es wichtig ist, die CMPManager
SDK im viewDidLoad
Methode, da die Ansicht sonst möglicherweise nicht einsatzbereit ist und das SDK fehlschlägt. Stellen Sie außerdem sicher, dass Sie die richtigen Konfigurationsdaten verwenden. Die Konfigurationsdaten finden Sie in Ihrem consentmanager Konto bei Menü > CMPs > Code für Apps abrufen > Code-ID
Beachten Sie außerdem, dass die Funktionen zur Feststellung, ob eine Zustimmung erforderlich ist oder nicht, sowie die Anzeige der Zustimmungsebene von einer zuverlässigen Netzwerkverbindung abhängen. Wenn keine Verbindung verfügbar ist oder der Wiederholungsmechanismus unseren Server nicht erreichen kann, gibt das Ereignis „didReceiveError“ einen Timeout-Fehler zurück. Das SDK kann daher überhaupt nicht feststellen, ob eine Zustimmung erforderlich ist, da es die Zustimmungsebene überhaupt nicht anzeigen kann. Bitte stellen Sie sicher, dass Ihre Logik dies berücksichtigt.
Ejemplo:
import cm_sdk_ios_v3
class YourViewController: UIViewController, CMPManagerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let cmpManager = CMPManager.shared
cmpManager.setUrlConfig(UrlConfig(
id: "your_id_here", // example: a000aaaaa1a
domain: "your_domain_here", // usually, delivery.consentmanager.net
language: "your_language_here", // example: DE
appName: "Your App Name")) // example: testApp
cmpManager.setWebViewConfig(ConsentLayerUIConfig(
position: .fullScreen,
backgroundStyle: .dimmed(.black, 0.5),
cornerRadius: 5,
respectsSafeArea: true,
allowsOrientationChanges: true))
cmpManager.setPresentingViewController(self)
cmpManager.delegate = self
cmpManager.checkAndOpen { error in
if let error = error {
print("Error initializing consent: \(error)")
} else {
print("ConsentManager initialized and consent received and stored on the device's NSUserDefaults.")
}
}
}
1.3 Verarbeitung von Einwilligungsdaten der Nutzer
Überprüfung der Einwilligungen der Benutzer
Unser SDK bietet eine einheitliche Methode zum Überprüfen und Abrufen von Einwilligungsinformationen. getUserStatus()
:
let status = CMPManager.shared.getUserStatus()
var message = "Status: \(status.status)\n\n"
message += "Vendors:\n"
for (vendorId, state) in status.vendors {
message += "- \(vendorId): \(state)\n"
}
message += "\nPurposes:\n"
for (purposeId, state) in status.purposes {
message += "- \(purposeId): \(state)\n"
}
message += "\nTCF: \(status.tcf)\n"
message += "Additional Consent: \(status.addtlConsent)\n"
message += "Regulation: \(status.regulation)"
print(message)
Weitere Informationen zu den anderen Methoden finden Sie in unserer vollständigen API-Dokumentation.
Erneutes Öffnen des Consent Layers, um die Auswahl der Benutzer zu überprüfen
Um dem Benutzer die Möglichkeit zu geben, seine Auswahl zu überprüfen oder zu ändern, können Sie einfach anrufen openConsentLayer()
cmpManager.forceOpen()
Diese Methode zeigt die Zustimmungsebene über dieselbe WKWebView-Instanz an, die in den vorherigen Schritten erstellt wurde.
Importieren/Exportieren von Einwilligungsinformationen in andere Quellen
In einigen Fällen kann eine native App Webviews enthalten, um Informationen wie Werbung oder Inhalte anzuzeigen. Um die Zustimmungsinformationen vom SDK an die Webview zu übertragen, können Sie die Zustimmungszeichenfolge wie folgt abrufen:
consentData = cmpManager.exportCMPInfo()
Dadurch werden die Einwilligungsinformationen und alle weiteren Daten exportiert, die das CMP benötigt. Sie können diese Informationen dann an das CMP weitergeben, das sich in Ihrer Webansicht befindet, indem Sie sie der URL hinzufügen, die in der Webansicht aufgerufen wird.
Wenn Sie die Zustimmungszeichenfolge andernfalls mithilfe des SDK importieren müssen, können Sie das folgende Beispiel verwenden:
let consentStringToImport = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(consentStringToImport)
Integration mit Apple Tracking Transparency (ATT)
Falls Sie Tracking oder Analysen in Ihrer App verwenden, empfehlen wir Ihnen, die Anleitung auf zu lesen ATT-Implementierung hier.
Erstellen eines benutzerdefinierten Layouts
Um eine benutzerdefinierte Ansicht der WKWebView zu erstellen, z. B. indem Sie ihre Positionierung oder ihren Hintergrund ändern, können Sie die an das ConsentLayerUIConfig-Objekt übergebene Konfiguration wie folgt ändern:
ConsentLayerUIConfig(
position: .halfScreenTop,
backgroundStyle: .dimmed(.grey, 0.75),
cornerRadius: 20,
respectsSafeArea: false,
allowsOrientationChanges: true)
Protokollierung
Wenn Sie unser iOS SDK verwenden, müssen Sie möglicherweise Protokollinformationen für verschiedene Zwecke debuggen oder analysieren. Die von unserem SDK generierten Protokolle sind unter „CMP“ gekennzeichnet, sodass Sie einfach nur die relevanten Protokolle filtern und anzeigen können. Weitere Informationen finden Sie unter In diesem Abschnitt unserer Dokumentation.