[iOS] 3. API-Dokumentation
akzeptiere alle
Akzeptiert die Zustimmungsebene und verhält sich genauso, wenn der Benutzer die Zustimmung akzeptiert.
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.
Anzahl der Seitenaufrufe
1
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.
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.
Anzahl der Seitenaufrufe
1 wenn der Parameter isCached() TRUE ist und die zwischengespeicherte Zustimmung abgelaufen ist
1 wenn der Parameter isCached() FALSE ist
0 wenn isCached() TRUE ist und die zwischengespeicherte Zustimmung NICHT abgelaufen ist
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 in diesem Fall die Benutzeroberfläche der Zustimmungsebene.
Parameter
Keiner. |
Return
Kein Rückgabewert.
Anzahl der Seitenaufrufe
1
Beispiel
@objc func checkAndOpenConsentLayerAction() {
cmpManager?.checkAndOpenConsentLayer()
}
ZustimmungRequestedToday
Überprüft, ob die Zustimmungsschicht heute angefordert wurde.
Parameter
Keiner. |
Return
TRUE, wenn die Zustimmung des Benutzers bereits heute angefordert wurde.
Ansonsten FALSE.
Anzahl der Seitenaufrufe
0
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 Einwilligung.
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.
Anzahl der Seitenaufrufe
1
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 Einwilligung.
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.
Anzahl der Seitenaufrufe
1
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 Einwilligung.
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
Anzahl der Seitenaufrufe
1
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.
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.
Anzahl der Seitenaufrufe
1
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.
Parameter
Keiner. |
Return
Die CMP-Base64-codierte Zeichenfolge.
Anzahl der Seitenaufrufe
0
Beispiel
@objc func exportConsentStringAction() {
let exportString = cmpManager.exportCmpString()
print(exportString ?? "No string to export.");
}
getAllPurposes
Gibt die IDs aller Zwecke zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Zweck-IDs enthält.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Eine Liste Enthält Allzweck-IDs.
Anzahl der Seitenaufrufe
0
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 die IDs aller Anbieter für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die alle Anbieter-IDs enthält.
Anzahl der Seitenaufrufe
0
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 einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste Enthält alle Lieferanten-IDs.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Eine Zeichenfolge mit der letzten vom Benutzer bestätigten Zustimmung.
Anzahl der Seitenaufrufe
0
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 IDs deaktivierter Zwecke für ein bestimmtes CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Zwecke enthält.
Anzahl der Seitenaufrufe
0
Beispiel
@objc func getDisabledPurposesAction() {
if let disabledPurposes = cmpManager?.getDisabledPurposes() {
print("Disabled purposes: \(disabledPurposes)")
} else {
print("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Gibt die IDs aller deaktivierten Anbieter für einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller deaktivierten Anbieter enthält.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Anzahl der Seitenaufrufe
0
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 einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Zwecke.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Eine durch Kommas getrennte Zeichenfolge, die die IDs aller aktivierten Anbieter enthält.
Anzahl der Seitenaufrufe
0
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 einen bestimmten CMP zurück.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Eine Liste enthält die IDs aller aktivierten Anbieter.
Anzahl der Seitenaufrufe
0
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 Angaben und ausgewählte Entscheidungen bezüglich seiner Verbraucherrechte speichert.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Anzahl der Seitenaufrufe
0
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.
Parameter
Keiner. |
Return
Ein String mit den US-Datenschutzdaten von consentmanager.
Anzahl der Seitenaufrufe
0
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.")
}
}
hasPurposeConsent
Überprüft, ob die Zweck-ID basierend auf der Benutzereinwilligung aktiviert ist.
Parameter
Name | Typ | Beschreibung |
purposeId |
Schnur | Zweck-ID |
Return
WAHR, wenn
- der Nutzer hat dem angegebenen Zweck zugestimmt ODER
- Aus irgendeinem Grund, der mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät zusammenhängt, konnte die Einwilligung für diesen Zweck nicht eingeholt werden. Bitte beachten Sie den withErrorListener, um diese Bedingungen während des App-Starts zu handhaben, insbesondere für neue Benutzer, die noch keine Einwilligung erteilt haben
Ansonsten FALSE.
Anzahl der Seitenaufrufe
0
Beispiel
@objc func getHasPurposeConsentAction() {
if let hasPurposeConsent = cmpManager?.hasPurposeConsent("purposeID") {
let consentStatus = hasPurposeConsent ? "Yes" : "No"
print("Purpose has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user purpose consent.")
}
}
hasVendorConsent
Überprüft, ob die Lieferanten-ID basierend auf der Benutzereinwilligung aktiviert ist.
Parameter
Name | Typ | Beschreibung |
vendorId |
Schnur | Hersteller-ID |
Return
WAHR, wenn
- Der Benutzer hat dem angegebenen Anbieter zugestimmt ODER
- Aus irgendeinem Grund, der mit einer schlechten oder fehlenden Internetverbindung auf dem Gerät zusammenhängt, konnte die Einwilligung des Anbieters nicht abgerufen werden. Bitte beachten Sie den withErrorListener, um diese Bedingungen während des App-Starts zu handhaben, insbesondere für neue Benutzer, die noch keine Einwilligung erteilt haben
Ansonsten FALSE.
Anzahl der Seitenaufrufe
0
Beispiel
@objc func getHasVendorConsentAction() {
if let hasVendorConsent = cmpManager?.hasVendorConsent("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. Die Zeichenfolge muss Base64-codiert sein.
Parameter
Name | Typ | Beschreibung |
ZustimmungsString | Schnur | Base64-kodierter String, der die Zustimmung darstellt |
AbschlussHandler | Funktion (optional) | Callback-Abschlusshandler für die Methode. |
Return
Keiner.
Anzahl der Seitenaufrufe
0
Beispiel
let cmpString = "YourBase64EncodedConsentStringHere"
// 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 Einwilligungsschicht und prüft automatisch, ob der Benutzer eine Einwilligung benötigt oder nicht. Diese Funktion öffnet schließlich die Einwilligungsebene und interagiert mit der Apple Tracking Transparency API, um den Benutzer um seine Einwilligung zu bitten
Parameter
Name | Typ | Beschreibung |
cmpConfig |
CmpConfig | Das CmpConfig-Objekt wird mit den Informationen zu appId, Domain, appName und Sprache (optional) übergeben. |
Return
Das CMPManagerobjekt.
Anzahl der Seitenaufrufe
1
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
Prüft, ob eine Einwilligung des aktuellen App-Benutzers erforderlich ist.
Parameter
Keiner. |
Return
TRUE, wenn der Benutzer seine Zustimmung geben muss
Ansonsten FALSE
Anzahl der Seitenaufrufe
0
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 Webansicht der CMP-Zustimmungsebene.
Parameter
Keiner. |
Return
Kein Rückgabewert
Anzahl der Seitenaufrufe
1
Beispiel
@objc func checkCmpLayer() {
print("Checking CMP API...")
cmpManager?.check(
{
// Callback for when the consent layer needs to be opened
print("Consent layer will open")
self.cmpConsentTool?.openView()
},
isCached: true,
onCmpLayerNotOpen: {
// Callback for when the consent layer does not need to be opened
print("Consent layer will not open")
}
)
}
Alles ablehnen
Lehnt die Zustimmungsebene ab und verhält sich genauso, als hätte der Benutzer die Zustimmung nicht akzeptiert.
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
Anzahl der Seitenaufrufe
1
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.
Parameter
Keiner. |
Return
Kein Rückgabewert
Anzahl der Seitenaufrufe
0
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
}
}