informatie
Content

[iOS] 3. API-documentatie

accepteer alles

parameters
Naam Type Beschrijving
onFinish functie Terugbellen voor het afhandelen van een gebeurtenis met ontvangen toestemming. het wordt gebeld wanneer toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1

Voorbeeld
func onFinish() {
    print("Notification: New consent was received")
}

// Accept all consent with a callback
cmpConsentTool.acceptAll(onFinish)


controle

parameters
Naam Type Beschrijving
onCmpLayerOpen functie Terugbellen wanneer de toestemmingslaag open moet zijn.
isCached Boolean Indien WAAR, wordt het verzoek in de cache opgeslagen en wordt het antwoord opgeslagen
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1 als de parameter isCached() WAAR is en de gecachte toestemming IS verlopen

1 als isCached() parameters FALSE zijn

0 als isCached() WAAR is en de gecachte toestemming NIET verlopen is

Voorbeeld
@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


Controleert of toestemming van de gebruiker vereist is en opent, als dat het geval is, de gebruikersinterface van de toestemmingslaag.

parameters
Geen.
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1

Voorbeeld
@objc func checkAndOpenConsentLayerAction() {
    cmpManager?.checkAndOpenConsentLayer()
}


toestemmingRequestedToday

Controleert of de toestemmingslaag vandaag is aangevraagd.

parameters
Geen.
Retourneren

WAAR als de toestemming van de gebruiker vandaag al is gevraagd.

Anders ONWAAR.

Aantal paginaweergaven

0

Voorbeeld
@objc func consentRequestedTodayAction() {
    if let calledToday = cmpManager?.consentRequestedToday() {
        print("Consent requested today: \(calledToday)")
    } else {
        print("Failed to retrieve consent request status for today.")
    }
}


uitschakelenPurposeList

Schakelt een lijst met doeleinden uit en werkt de gegeven toestemming bij.

parameters
Naam Type Beschrijving
purposes reeks Lijst met doel-ID's die moeten worden uitgeschakeld.
onFinish functie (Optioneel) Terugbellen voor het afhandelen van een gebeurtenis met ontvangen toestemming. het wordt gebeld wanneer toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1

Voorbeeld
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)


leverancierslijst uitschakelen

Schakelt een lijst met leveranciers uit en werkt de gegeven toestemming bij.

parameters
Naam Type Beschrijving
vendors reeks Lijst met leveranciers-ID's die moeten worden uitgeschakeld.
onFinish functie (Optioneel) Terugbellen voor het afhandelen van de gebeurtenis 'Toestemming ontvangen'. Het wordt opgeroepen wanneer de toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1

Voorbeeld
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)


SchakelPurposeList in

Maakt een lijst met doeleinden mogelijk en werkt de gegeven toestemming bij.

parameters
Naam Type Beschrijving
purposes reeks Lijst met doel-ID's die moeten worden ingeschakeld.
onFinish functie (Optioneel) Terugbellen voor het afhandelen van de gebeurtenis 'Toestemming ontvangen'. Het wordt opgeroepen wanneer de toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde

Aantal paginaweergaven

1

Voorbeeld
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)


leverancierslijst inschakelen

Maakt een lijst met leveranciers mogelijk en werkt de gegeven toestemming bij.

parameters
Naam Type Beschrijving
vendors reeks Lijst met leveranciers-ID's die moeten worden ingeschakeld.
onFinish functie (Optioneel) Terugbellen voor het afhandelen van de gebeurtenis 'Toestemming ontvangen'. iIk zal worden gebeld wanneer de toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde.

Aantal paginaweergaven

1

Voorbeeld
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

Exporteert de huidige CMP-tekenreeks die de toestemmingsvoorkeuren van de gebruiker vertegenwoordigt. Deze methode wordt op een statische manier benaderd. 

parameters
Geen.
Retourneren

De CMP base64-gecodeerde tekenreeks.

Aantal paginaweergaven

0

Voorbeeld
@objc func exportConsentStringAction() {
    let exportString = cmpManager.exportCmpString()
    print(exportString ?? "No string to export.");
}


GetAllPurposes

Retourneert de ID's van alle doeleinden.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks die ID's voor alle doeleinden bevat.

Aantal paginaweergaven

0

Voorbeeld
@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

Retourneert een lijst met alle doel-ID's voor een bepaald CMP.

parameters
Geen.
Retourneren

Een lijst met alle doel-ID's.

Aantal paginaweergaven

0

Voorbeeld
@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.")
    }
}


haalAlleVerkopers

Retourneert de ID's van alle leveranciers voor een bepaald CMP.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks die alle leveranciers-ID's bevat.

Aantal paginaweergaven

0

Voorbeeld
@objc func getAllVendorsAction() {
    if let allPurposes = cmpManager?.getAllVendors() {
        print("Printing all Vendors: \(allPurposes)")
    } else {
        print("Failed to retrieve all vendors.")
    }
}


getAllVendorsLijst

Retourneert een lijst met de ID's van alle leveranciers voor een bepaald CMP.

parameters
Geen.
Retourneren

Een lijst met alle leveranciers-ID's.

Aantal paginaweergaven

0

Voorbeeld
@objc func getAllVendorsListAction() {
    if let allVendors = cmpManager?.getAllVendorsList() {
        print("All vendors list: \(allVendors.joined(separator: ", "))")
    } else {
        print("Failed to retrieve all vendors list.")
    }
}


getConsentString

Retourneert een tekenreeks met de laatst gegeven toestemming.

parameters
Geen.
Retourneren

Een tekenreeks waarvan de laatste toestemming door de gebruiker is bevestigd.

Aantal paginaweergaven

0

Voorbeeld
@objc func getAllVendorsListAction() {
    if let allVendors = cmpManager?.getAllVendorsList() {
        print("All vendors list: \(allVendors.joined(separator: ", "))")
    } else {
        print("Failed to retrieve all vendors list.")
    }
}

getDisabledPurposes

Retourneert de ID's van alle uitgeschakelde doeleinden voor een bepaald CMP.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks met de ID's van alle uitgeschakelde doeleinden.

Aantal paginaweergaven

0

Voorbeeld
@objc func getDisabledPurposesAction() {
    if let disabledPurposes = cmpManager?.getDisabledPurposes() {
        print("Disabled purposes: \(disabledPurposes)")
    } else {
        print("Failed to retrieve disabled purposes.")
    }
}


getDisabledVendors

Retourneert alle uitgeschakelde leveranciers-ID's voor een bepaald CMP.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks met de ID's van alle uitgeschakelde leveranciers.

Aantal paginaweergaven

0

Voorbeeld
@objc func getDisabledVendorsAction() {
    if let disabledVendors = cmpManager?.getDisabledVendors() {
        print("Disabled vendors: \(disabledVendors)")
    } else {
        print("Failed to retrieve disabled vendors.")
    }
}


getEnabledPurposes

Retourneert alle ingeschakelde leveranciers-ID's voor een bepaald CMP.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks met de ID's van alle ingeschakelde leveranciers.

Aantal paginaweergaven

0

Voorbeeld
@objc func getEnabledVendorsAction() {
    if let enabledVendors = cmpManager?.getEnabledVendors() {
        print("Enabled vendors: \(enabledVendors)")
    } else {
        print("Failed to retrieve enabled vendors.")
    }
}


getEnabledPurposeList

Retourneert een lijst met de ID's van alle ingeschakelde doeleinden voor een bepaald CMP.

parameters
Geen.
Retourneren

Een lijst met de ID's van alle ingeschakelde doeleinden.

Aantal paginaweergaven

0

Voorbeeld
@objc func getEnabledPurposesAction() {
    if let enabledPurposes = cmpManager?.getEnabledPurposes() {
        print("Enabled purposes: \(enabledPurposes.joined(separator: ", "))")
    } else {
        print("Failed to retrieve enabled purposes list.")
    }
}


getEnabledVendors

Retourneert alle ingeschakelde leveranciers-ID's voor een bepaald CMP.

parameters
Geen.
Retourneren

Een door komma's gescheiden tekenreeks met de ID's van alle ingeschakelde leveranciers.

Aantal paginaweergaven

0

Voorbeeld
@objc func getEnabledVendorsAction() {
    if let enabledVendors = cmpManager?.getEnabledVendors() {
        print("Enabled vendors: \(enabledVendors)")
    } else {
        print("Failed to retrieve enabled vendors.")
    }
}


getEnabledVendorList

Retourneert een lijst met alle ingeschakelde leveranciers-ID's voor een bepaald CMP.

parameters
Geen.
Retourneren

Een lijst met alle ingeschakelde leveranciers-ID's.

Aantal paginaweergaven

0

Voorbeeld
@objc func getEnabledVendorsAction() {
    if let enabledVendors = cmpManager?.getEnabledVendors() {
        print("Enabled vendors: \(enabledVendors.joined(separator: ", "))")
    } else {
        print("Failed to retrieve enabled vendors.")
    }
}


getGoogleACString

Haalt de Google-tekenreeks voor aanvullende toestemmings-ID (`addtlConsent`) op die is ingesteld door de consent manager.

Voor meer informatie, kijk op de Technische specificatie voor aanvullende toestemming van Google.  

parameters
Geen.
Retourneren

Een lijst met alle ingeschakelde leveranciers-ID's.

Aantal paginaweergaven

0

Voorbeeld
@objc func getGoogleConsentStringAction() {
    if let googleACString = cmpManager?.getGoogleACString() {
        print("Google Additional Consent String: \(googleACString)")
    } else {
        print("Failed to retrieve Google Additional Consent String.")
    }
}


getUSPrivacyString

Haalt de Amerikaanse privacystring op. Deze Amerikaanse privacystring is een cookie die informatie opslaat over de door de websitebezoeker gemaakte openbaarmakingen en keuzes met betrekking tot zijn consumentenrechten.

parameters
Geen.
Retourneren

Een string met de Amerikaanse privacygegevens die zijn ingesteld door consentmanager.

Aantal paginaweergaven

0

Voorbeeld
@objc func getUSPrivacyStringAction() {
    if let theUSPrivacyString = cmpManager?.getUSPrivacyString() {
        print("US Privacy string contents: \(theUSPrivacyString)")
    } else {
        print("Failed to retrieve US Privacy string.")
    }
}


heeftToestemming

Controleert of de gebruiker al toestemming heeft gegeven. De toestemmingslaag kan de optie hebben om de laag gewoon te sluiten. In dat geval heeft de gebruiker geen toestemming gegeven.

parameters
Geen.
Retourneren

Een string met de Amerikaanse privacygegevens die zijn ingesteld door consentmanager.

Aantal paginaweergaven

0

Voorbeeld
@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.")
    }
}


heeftPurposeConsent

Controleert of de doel-ID is ingeschakeld op basis van de toestemming van de gebruiker.

parameters
Naam Type Beschrijving
purposeId Draad doel-id
Retourneren

WAAR als

  • de gebruiker heeft toestemming gegeven voor het aangegeven doel OF
  • om welke reden dan ook die verband houdt met een slechte of geen internetverbinding op het apparaat, kon de toestemming voor het doel niet worden opgehaald. Raadpleeg de withErrorListener om deze voorwaarden af ​​te handelen tijdens het starten van de app, vooral voor nieuwe gebruikers die nog geen toestemming hebben gegeven

Anders ONWAAR.

Aantal paginaweergaven

0

Voorbeeld
@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.")
    }
}


heeftVendorConsent

Controleert of de leveranciers-ID is ingeschakeld op basis van de toestemming van de gebruiker.

parameters
Naam Type Beschrijving
vendorId Draad verkopers ID
Retourneren
  • de gebruiker heeft toestemming gegeven aan de opgegeven leverancier OF
  • om welke reden dan ook die verband houdt met een slechte of geen internetverbinding op het apparaat, kon de toestemming van de verkoper niet worden opgehaald. Raadpleeg de withErrorListener om deze voorwaarden af ​​te handelen tijdens het starten van de app, vooral voor nieuwe gebruikers die nog geen toestemming hebben gegeven

Anders ONWAAR.

Aantal paginaweergaven

0

Voorbeeld
@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

Importeert een CMP-tekenreeks die de toestemmingsvoorkeuren van de gebruiker vertegenwoordigt. De tekenreeks moet base64-gecodeerd zijn

parameters
Naam Type Beschrijving
toestemmingString  Draad Base64-gecodeerde tekenreeks die de toestemming vertegenwoordigt
voltooiingHandler functie (optioneel) Callback-voltooiingshandler naar de methode.
Retourneren

Geen.

Aantal paginaweergaven

0

Voorbeeld
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)


initialiseren

De functie Initialize initialiseert de toestemmingslaag en controleert automatisch of de gebruiker toestemming nodig heeft of niet. Deze functie opent uiteindelijk de toestemmingslaag en communiceert met de Apple Tracking Transparency API om de gebruiker om toestemming te vragen

parameters
Naam Type Beschrijving
cmpConfig CmpConfig Het CmpConfig-object wordt doorgegeven met de informatie over de appId, Domain, appName en taal (optioneel)
Retourneren

Het CMPManager-object.

Aantal paginaweergaven

1

Voorbeeld
// 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
  }
}


is toestemming vereist

parameters
Geen.
Retourneren

TRUE als de gebruiker toestemming moet geven

Anders ONWAAR

Aantal paginaweergaven

0

Voorbeeld
@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.")
    }
}


openBekijk

Opent geforceerd de webweergave van de CMP-toestemmingslaag.

parameters
Geen.
Retourneren

Geen retourwaarde

Aantal paginaweergaven

1

Voorbeeld
@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")
        }
    )
}


weigerAlles

parameters
Naam Type Beschrijving
onFinish functie Optioneel. Terugbellen voor het afhandelen van de gebeurtenis 'Toestemming ontvangen'. het wordt opgeroepen wanneer toestemming is ontvangen en verwerkt.
Retourneren

Geen retourwaarde

Aantal paginaweergaven

1

Voorbeeld
func onFinish() {
    print("Notification: New consent has been received with a Reject All response.")
}

// Reject all consent with a callback
cmpManager.rejectAll(onFinish)


opnieuw in te stellen

Zet alle eigenschappen terug naar de standaardwaarden.

parameters
Geen.
Retourneren

Geen retourwaarde

Aantal paginaweergaven

0

Voorbeeld
CMPManager.reset()

metCloseListener


Voegt een goede luisteraar toe om meldingen te ontvangen wanneer de toestemmingslaag wordt gesloten.

parameters
Naam Type Beschrijving
closeListener functie Callback die wordt aangeroepen wanneer de toestemmingslaag wordt gesloten.
Retourneren

CMPConsentTool

Voorbeeld
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)


met OpenListener

Voegt een open luisteraar toe om meldingen te ontvangen wanneer de toestemmingslaag wordt geopend.

parameters
Naam Type Beschrijving
openListener functie Callback die wordt aangeroepen wanneer de toestemmingslaag wordt geopend
Retourneren

CMPConsentTool

Voorbeeld
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)

metErrorListener

Voegt een foutlistener toe om meldingen te ontvangen wanneer er een fout is opgetreden.

parameters
Naam Type Beschrijving
errorListener functie Terugbellen om actie toe te voegen als er een fout is opgetreden.
Retourneren

CMPConsentTool

Voorbeeld
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)


metOnCMPNotOpenedListener

Voegt een Cmp niet geopende callback toe om een ​​melding te krijgen wanneer de toestemmingslaag niet wordt geopend. De meest voorkomende reden is dat de gebruiker al toestemming heeft gegeven.

parameters
Naam Type Beschrijving
openListener functie Callback die wordt aangeroepen als de toestemmingslaag niet is geopend. 
Retourneren

CMPConsentTool

Voorbeeld
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

Stelt een callback in om meldingen te ontvangen wanneer de gebruiker op een knop klikt om de toestemmingslaag te sluiten.

parameters
Naam Type Beschrijving
openListener functie Terugbellen die wordt aangeroepen waarbij de CmpButtonEvent aangeeft welke knop is ingedrukt.
Retourneren

CMPConsentTool

Voorbeeld
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)

metCmpViewControllerConfigurationBlock

Pas de toestemmingslaag UIViewController aan.

parameters
Naam Type Beschrijving

configurationBlock

CmpViewControllerConfigurationBlock

Pas de toestemmingslaag aan

UIViewController.

Retourneren

CMPConsentTool

Voorbeeld
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
    .withCmpViewControllerConfigurationBlock { viewController in
        viewController?.modalPresentationStyle = .formSheet
    }


metCmpViewConfigurationBlock

Pas de UiView van de toestemmingslaag aan.

parameters
Naam Type Beschrijving

configurationBlock

CmpUIViewConfigurationBlock

Pas de toestemmingslaag aan

UiView

Retourneren

CMPConsentTool

Voorbeeld
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)
    }


met UpdateGoogle-toestemming

Haalt de status van de Google-toestemmingsmodus op. 

parameters
Naam Type Beschrijving

consentMap

[Draad: Draad]?

Toestemmingsstatus
Retourneren

CMPConsentTool

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

 

Terug naar boven