Info
Inhalt

[iOS] 3. API-Dokumentation

akzeptiere alle

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

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

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

    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

    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

    configurationBlock

    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

    configurationBlock

    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

    consentMap

    [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
        }
    }
    

     

    Nach oben