[iOS] 3. API-Dokumentation
akzeptiere alle
Akzeptiert die Zustimmungsebene und verhält sich genauso, wenn der Benutzer die Zustimmung akzeptiert. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
onFinish |
Funktion | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
func onFinish() {
print("Notification: New consent was received")
}
// Accept all consent with a callback
cmpConsentTool.acceptAll(onFinish)
aus der Ferne überprüfen
Überprüft, ob die Zustimmung des Benutzers erforderlich ist, und gibt optional zwischengespeicherte Ergebnisse zurück. Diese Methode verbraucht einen Seitenaufruf, wenn isCached
Parameter ist TRUE und die zwischengespeicherte Zustimmung ist abgelaufen, eine Seitenansicht, wenn isCached
Parameter ist FALSE und es gibt keine Seitenaufrufe, wenn die zwischengespeicherte Zustimmung nicht abgelaufen ist. Die zwischengespeicherte Zustimmung läuft alle 24 Stunden ab und wird gelöscht.
Parameter
Name | Typ | Beschreibung |
onCmpLayerOpen |
Funktion | Rückruf, wenn die Zustimmungsschicht geöffnet sein muss. |
isCached |
Boolean | Bei TRUE wird die Anfrage zwischengespeichert und die Antwort gespeichert |
Return
Kein Rückgabewert.
Beispiel
@objc func checkCmpLayer() {
print("Checking need for consent.")
cmpManager?.check(
{
// Callback for when the consent layer needs to be opened
print("Consent layer will open")
self.cmpConsentTool?.openView()
},
isCached: true
)
}
checkAndOpenConsentLayer
Überprüft, ob die Zustimmung des Benutzers erforderlich ist, und öffnet, wenn ja, die Benutzeroberfläche der Zustimmungsebene. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Keiner. |
Return
Kein Rückgabewert.
Beispiel
@objc func checkAndOpenConsentLayerAction() {
cmpManager?.checkAndOpenConsentLayer()
}
ZustimmungRequestedToday
Überprüft, ob die Zustimmungsebene heute angefordert wurde. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
TRUE, wenn die Zustimmung des Benutzers bereits heute angefordert wurde.
Ansonsten FALSE.
Beispiel
@objc func consentRequestedTodayAction() {
if let calledToday = cmpManager?.consentRequestedToday() {
print("Consent requested today: \(calledToday)")
} else {
print("Failed to retrieve consent request status for today.")
}
}
Zweckliste deaktivieren
Deaktiviert eine Liste von Zwecken und aktualisiert die erteilte Zustimmung. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
purposes |
Feld | Liste der zu deaktivierenden Zweck-IDs. |
onFinish |
Funktion (optional) | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.disablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.disablePurposeList(purposes)
disableVendorList
Deaktiviert eine Liste von Anbietern und aktualisiert die erteilte Zustimmung. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
vendors |
Feld | Liste der zu deaktivierenden Anbieter-IDs. |
onFinish |
Funktion (optional) | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.disableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.disableVendorList(vendors)
enablePurposeList
Aktiviert eine Liste von Zwecken und aktualisiert die erteilte Zustimmung. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
purposes |
Feld | Liste der zu aktivierenden Zweck-IDs. |
onFinish |
Funktion (optional) | Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.enablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.enablePurposeList(purposes)
enableVendorList
Aktiviert eine Liste von Anbietern und aktualisiert die erteilte Zustimmung. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
vendors |
Feld | Liste der zu aktivierenden Anbieter-IDs. |
onFinish |
Funktion (optional) | Rückruf zur Behandlung des Ereignisses „Zustimmung empfangen“. Wird aufgerufen, wenn die Zustimmung empfangen und verarbeitet wird. |
Return
Kein Rückgabewert.
Beispiel
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.enableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.enableVendorList(vendors)
exportCmpString
Exportiert die aktuelle CMP-Zeichenfolge, die die Zustimmungseinstellungen des Benutzers darstellt. Auf diese Methode wird statisch zugegriffen. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Die Zustimmungszeichenfolge.
Beispiel
@objc func exportConsentStringAction() {
let exportString = cmpManager.exportCmpString()
print(exportString ?? "No string to export.");
}
getAllPurposes
Gibt die IDs aller Zwecke zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Zweck-IDs enthält.
Beispiel
@objc func getAllPurposesAction() {
if let allPurposes = cmpManager?.getAllPurposes() {
print("All purposes: \(allPurposes)")
// Additional actions for getAllPurposes function can be added here
} else {
print("Failed to retrieve all purposes.")
}
}
getAllPurposeList
Gibt eine Liste aller Zweck-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Liste Enthält Allzweck-IDs.
Beispiel
@objc func getAllPurposeListAction() {
// Action for getAllPurposeList function
if let allPurposes = cmpManager?.getAllPurposesList() {
print("All purposes list: \(allPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve all purposes list.")
}
}
getAllVendors
Gibt alle Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Anbieter-IDs enthält.
Beispiel
@objc func getAllVendorsAction() {
if let allPurposes = cmpManager?.getAllVendors() {
print("Printing all Vendors: \(allPurposes)")
} else {
print("Failed to retrieve all vendors.")
}
}
getAllVendorsList
Gibt eine Liste aller Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Liste Enthält alle Lieferanten-IDs.
Beispiel
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getConsentString
Gibt einen String mit der zuletzt erteilten Zustimmung zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Zeichenfolge mit der letzten vom Benutzer bestätigten Zustimmung.
Beispiel
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getDisabledPurposes
Gibt alle deaktivierten Zweck-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Zwecke enthält.
Beispiel
@objc func getDisabledPurposesAction() {
if let disabledPurposes = cmpManager?.getDisabledPurposes() {
print("Disabled purposes: \(disabledPurposes)")
} else {
print("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Gibt alle deaktivierten Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Anbieter enthält.
Beispiel
@objc func getDisabledVendorsAction() {
if let disabledVendors = cmpManager?.getDisabledVendors() {
print("Disabled vendors: \(disabledVendors)")
} else {
print("Failed to retrieve disabled vendors.")
}
}
getEnabledPurposes
Gibt alle aktivierten Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Beispiel
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledPurposeList
Gibt eine Liste aller aktivierten Zweck-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Zwecke.
Beispiel
@objc func getEnabledPurposesAction() {
if let enabledPurposes = cmpManager?.getEnabledPurposes() {
print("Enabled purposes: \(enabledPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled purposes list.")
}
}
getEnabledVendors
Gibt alle aktivierten Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Beispiel
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledVendorList
Gibt eine Liste mit allen aktivierten Anbieter-IDs für ein bestimmtes CMP zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Beispiel
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getGoogleACString
Ruft die zusätzliche Google-Einwilligungs-ID (`addtlConsent`) ab, die vom consent manager.
Weitere Informationen finden Sie im Technische Spezifikation für die zusätzliche Zustimmung zu Google.
Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Beispiel
@objc func getGoogleConsentStringAction() {
if let googleACString = cmpManager?.getGoogleACString() {
print("Google Additional Consent String: \(googleACString)")
} else {
print("Failed to retrieve Google Additional Consent String.")
}
}
getUSPrivacyString
Ruft den US-Datenschutz-String ab. Dieser US-Datenschutz-String ist ein Cookie, der Informationen über vom Website-Besucher vorgenommene Offenlegungen und ausgewählte Entscheidungen bezüglich seiner Verbraucherrechte speichert. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Beispiel
@objc func getUSPrivacyStringAction() {
if let theUSPrivacyString = cmpManager?.getUSPrivacyString() {
print("US Privacy string contents: \(theUSPrivacyString)")
} else {
print("Failed to retrieve US Privacy string.")
}
}
hatZustimmung
Überprüft, ob der Benutzer bereits seine Zustimmung gegeben hat. Die Zustimmungsebene kann die Option enthalten, die Ebene einfach zu schließen. In diesem Fall hat der Benutzer keine Zustimmung gegeben. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Beispiel
@objc func getHasConsentAction() {
if let hasConsent = cmpManager?.hasConsent() {
let consentStatus = hasConsent ? "Yes" : "No"
print("Consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user consent.")
}
}
hasPurpose (ab Version 2.5.3)
hasPurposeConsent (veraltet)
Überprüft, ob die Zweck-ID basierend auf der Benutzereinwilligung aktiviert ist. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Name | Typ | Beschreibung |
purposeId |
Schnur | Zweck-ID |
defaultReturn |
Boolean | Wert, der standardmäßig von der Methode zurückgegeben wird, falls noch keine Zustimmung vorliegt. Siehe Warnung unten. |
Return
TRUE, wenn der Benutzer dem angegebenen Zweck zugestimmt hat.
Ansonsten FALSE.
Beachten Sie, dass, wenn aus irgendeinem Grund im Zusammenhang mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät oder im Falle des Fehlens einer Zustimmung, der Wert, der über das defaultReturn
Parameter wird zurückgegeben.
Die defaultReturn
Parameter existiert nicht in Versionen älter als 2.5.3.
Beispiel
@objc func getHasPurposeConsentAction() {
if let hasPurposeConsent = cmpManager?.hasPurpose("purposeID", false) {
let consentStatus = hasPurposeConsent ? "Yes" : "No"
print("Purpose has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user purpose consent.")
}
}
hasVendor (ab Version 2.5.3)
hasVendorConsent (veraltet)
Überprüft, ob die Anbieter-ID basierend auf der Benutzereinwilligung aktiviert ist. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Name | Typ | Beschreibung |
vendorId |
Schnur | Hersteller-ID |
defaultReturn |
Boolean | Wert, der standardmäßig von der Methode zurückgegeben wird, falls noch keine Zustimmung vorliegt. Siehe Warnung unten. |
Return
TRUE, wenn der Benutzer dem angegebenen Anbieter seine Zustimmung erteilt hat.
Ansonsten FALSE.
Beachten Sie, dass, wenn aus irgendeinem Grund im Zusammenhang mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät oder im Falle des Fehlens einer Zustimmung, der Wert, der über das defaultReturn
Parameter wird zurückgegeben.
Die defaultReturn
Parameter existiert nicht in Versionen älter als 2.5.3.
Beispiel
@objc func getHasVendorConsentAction() {
if let hasVendorConsent = cmpManager?.hasVendor("vendorID") {
let consentStatus = hasVendorConsent ? "Yes" : "No"
print("Vendor has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user vendor consent.")
}
}
importCmpString
Importiert eine CMP-Zeichenfolge, die die Zustimmungseinstellungen des Benutzers darstellt. Der String muss unverändert übermittelt werden, wenn er über die Methode exportCmpString() abgerufen wird.. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Name | Typ | Beschreibung |
ZustimmungsString | Schnur | Zeichenfolge, die die Zustimmung darstellt |
AbschlussHandler | Funktion (optional) | Callback-Abschlusshandler für die Methode. |
Return
Keiner.
Beispiel
let cmpString = "YourConsentStringHere"
// Define the completion handler
let completionHandler: CmpImportCompletionHandler = { error in
if let error = error {
print("Failed to import CMP string: \(error.localizedDescription)")
} else {
print("CMP string imported successfully")
}
}
cmpManager.importCmpString(cmpString, completion: completionHandler)
initialisieren
Die Initialisierungsfunktion initialisiert die Zustimmungsebene und prüft automatisch, ob der Benutzer eine Zustimmung benötigt oder nicht. Diese Funktion öffnet schließlich die Zustimmungsebene und interagiert mit der Apple Tracking Transparency API, um den Benutzer um Zustimmung zu bitten. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
cmpConfig |
CmpConfig | Das CmpConfig-Objekt wird mit den Informationen zu appId, Domain, appName und Sprache (optional) übergeben. |
Return
Das CMPManagerobjekt.
Beispiel
// Example of a default implementation of the SDK.
class ViewController: UIViewController {
// Usual implementation of a View Controller
var cmpManager: CMPConsentTool? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Configure your CMP
let cmpConfig: CmpConfig = CmpConfig.shared.setup(
withId: "<YOUR-CONSENTMANAGER-APP-ID>, example: a000aaaa0a",
domain: "<YOUR-CONSENTMANAGER-APP-DOMAIN>, example: delivery.consentmanager.net",
appName: "<YOUR-CONSENTMANAGER-APP-NAME>, example: testApp",
language: "<YOUR-CONSENTMANAGER-APP-LANGUAGE, example: DE");
// You can also determine log levels or ask for Apple's App Tracking Transparency, for example
cmpConfig.logLevel = CmpLogLevel.verbose;
cmpConfig.isAutomaticATTRequest = true;
// Then you pass the cmpConfig to set up and initialize the instance of our SDK
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withErrorListener(onCMPError)
.withCloseListener(onClose)
.withOpenListener(onOpen)
.withOnCMPNotOpenedListener(onCMPNotOpened)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
.initialize() // This method will trigger the webview loading to collect consent, if necessary
}
}
isConsentRequired
Überprüft, ob der aktuelle App-Benutzer seine Zustimmung erteilen muss. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
TRUE, wenn der Benutzer eine Einwilligung geben muss.
Ansonsten FALSE.
Beispiel
@objc func checkIfConsentIsRequired() {
if let isConsentRequired = cmpConsentTool?.isConsentRequired() {
let consentRequiredStatus = isConsentRequired ? "Yes" : "No"
print("Is user consent required? \(consentRequiredStatus)")
} else {
print("Failed to determine if user consent is required.")
}
}
openView
Öffnet zwangsweise die CMP-Zustimmungsebene-Webansicht. Diese Methode verbraucht eine Seitenansicht.
Parameter
Keiner. |
Return
Kein Rückgabewert.
Beispiel
self.cmpConsentTool?.openView()
Alles ablehnen
Lehnt die Zustimmungsebene ab und verhält sich genauso, als ob der Benutzer die Zustimmung nicht akzeptiert hätte. Diese Methode verbraucht einen Seitenaufruf.
Parameter
Name | Typ | Beschreibung |
onFinish |
Funktion | Optional. Rückruf zur Bearbeitung des Ereignisses „Zustimmung erhalten“. Der Aufruf erfolgt, wenn die Einwilligung vorliegt und verarbeitet wird. |
Return
Kein Rückgabewert
Beispiel
func onFinish() {
print("Notification: New consent has been received with a Reject All response.")
}
// Reject all consent with a callback
cmpManager.rejectAll(onFinish)
zurückstellen
Setzt alle Eigenschaften auf Standardwerte zurück. Diese Methode verbraucht keine Seitenaufrufe.
Parameter
Keiner. |
Return
Kein Rückgabewert.
Beispiel
CMPManager.reset()
withCloseListener
Fügt einen Close-Listener hinzu, um Benachrichtigungen zu erhalten, wenn die Einwilligungsebene geschlossen wird.
Parameter
Name | Typ | Beschreibung |
closeListener |
Funktion | Rückruf, der aufgerufen wird, wenn die Einwilligungsschicht geschlossen wird. |
Return
CMPConsentTool
Beispiel
func onClose() {
print("APP: CLOSED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and close listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onClose)
mitOpenListener
Fügt einen offenen Listener hinzu, um Benachrichtigungen zu empfangen, wenn die Einwilligungsebene geöffnet wird.
Parameter
Name | Typ | Beschreibung |
openListener |
Funktion | Rückruf, der aufgerufen wird, wenn die Zustimmungsebene geöffnet wird |
Return
CMPConsentTool
Beispiel
func onOpen() {
print("APP: OPENED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and open listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onOpen)
withErrorListener
Fügt einen Fehler-Listener hinzu, um Benachrichtigungen zu empfangen, wenn ein Fehler aufgetreten ist.
Parameter
Name | Typ | Beschreibung |
errorListener |
Funktion | Rückruf zum Hinzufügen einer Aktion, wenn ein Fehler aufgetreten ist. |
Return
CMPConsentTool
Beispiel
func onCMPError(type: CmpErrorType, message: String?) {
if let errorMessage = message {
print(errorMessage)
} else {
print("An error occurred.")
}
switch type {
case .networkError:
print("Network error")
case .timeoutError:
print("Timeout error")
case .consentDataReadWriteError:
print("Consent data read/write error")
case .unknownError:
print("Unknown error")
@unknown default:
print("Unexpected error")
}
}
// Initialize cmpManager with configuration and error listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withErrorListener(onCMPError)
withOnCMPNotOpenedListener
Fügt einen Rückruf „Cmp nicht geöffnet“ hinzu, um eine Benachrichtigung zu erhalten, wenn die Einwilligungsebene nicht geöffnet wird. Der häufigste Grund ist, dass der Benutzer bereits seine Einwilligung erteilt hat.
Parameter
Name | Typ | Beschreibung |
openListener |
Funktion | Rückruf, der aufgerufen wird, wenn die Zustimmungsebene nicht geöffnet ist. |
Return
CMPConsentTool
Beispiel
func onCMPNotOpened() {
print("CMP: NOT OPENED")
// Add custom business logic here
}
// Initialize cmpConsentTool with configuration and CMP not opened listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCMPNotOpenedListener(onCMPNotOpened)
withOnCmpButtonClickedCallback
Legt einen Rückruf fest, um Benachrichtigungen zu erhalten, wenn der Benutzer auf eine Schaltfläche klickt, um die Einwilligungsebene zu schließen.
Parameter
Name | Typ | Beschreibung |
openListener |
Funktion | Rückruf, der mit dem CmpButtonEvent aufgerufen wird und angibt, welche Taste gedrückt wurde. |
Return
CMPConsentTool
Beispiel
func onButtonClickedEvent(event: CmpButtonEvent) {
switch event {
case .acceptAll:
print("User accepted all.")
case .rejectAll:
print("User rejected all.")
case .save:
print("User saved custom settings.")
case .close:
print("User closed consent layer without giving consent.")
@unknown default:
print("Unknown button event.")
}
}
// Initialize cmpManager with configuration and button click callback
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
withCmpViewControllerConfigurationBlock
Passen Sie den Consentlayer UIViewController an.
Parameter
Name | Typ | Beschreibung |
|
CmpViewControllerConfigurationBlock |
Passen Sie den Einwilligungslayer an
UIViewController. |
Return
CMPConsentTool
Beispiel
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewControllerConfigurationBlock { viewController in
viewController?.modalPresentationStyle = .formSheet
}
withCmpViewConfigurationBlock
Passen Sie die UiView des ConsentLayers an.
Parameter
Name | Typ | Beschreibung |
|
CmpUIViewConfigurationBlock |
Passen Sie den Einwilligungslayer an
UiView |
Return
CMPConsentTool
Beispiel
let cmpLayout = CmpLayout.default()
cmpLayout?.cornerRadius = 10.0
cmpLayout?.customLayout = CGRect(x: 0, y: 0, width: 200, height: 300)
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewConfigurationBlock { uiView in
cmpLayout?.apply(to: uiView)
}
mitUpdateGoogleConsent
Ruft den Status des Google-Einwilligungsmodus ab.
Parameter
Name | Typ | Beschreibung |
|
[Schnur: Schnur]? |
Einwilligungsstatus |
Return
CMPConsentTool
Beispiel
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
func onCmpUpdateGoogleConsent(consentMap: [String: String]?) {
guard let consentMap = consentMap else { return }
var firebaseConsentMap: [ConsentType: ConsentStatus] = [:]
consentMap.forEach { key, value in
if let consentType = convertToFirebaseConsentType(from: key),
let consentStatus = convertToFirebaseConsentStatus(from: value) {
firebaseConsentMap[consentType] = consentStatus
}
}
Analytics.setConsent(firebaseConsentMap)
}
func convertToFirebaseConsentType(from key: String) -> ConsentType? {
switch key {
case "analytics_storage":
return .analyticsStorage
case "ad_storage":
return .adStorage
case "ad_user_data":
return .adUserData
case "ad_personalization":
return .adPersonalization
default:
return nil
}
}
func convertToFirebaseConsentStatus(from value: String) -> ConsentStatus? {
switch value {
case "granted":
return .granted
case "denied":
return .denied
default:
return nil
}
}