Info
Innehåll

[iOS] 3. API-dokumentation

acceptera alla

parametrar
Namn Typ Beskrivning
onFinish fungera Återuppringning för hantering av samtycke mottaget händelse. det kommer att anropas när samtycke tas emot och behandlas.
Retur

Inget returvärde.

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

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


ta

parametrar
Namn Typ Beskrivning
onCmpLayerOpen fungera Återuppringning när samtyckeslagret måste vara öppet.
isCached Boolean När TRUE kommer begäran att cachelagras och svaret sparas
Retur

Inget returvärde.

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


Kontrollerar om användarens samtycke krävs och, i så fall, öppnar användargränssnittet för samtyckeslagret.

parametrar
Inga.
Retur

Inget returvärde.

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


samtyckeBegärt Idag

Kontrollerar om samtyckeslagret begärdes idag.

parametrar
Inga.
Retur

TRUE om användarens samtycke begärdes redan idag.

FALSK annars.

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


disablePurposeList

Inaktiverar en lista med syften och uppdaterar det givna samtycket.

parametrar
Namn Typ Beskrivning
purposes array Lista över ändamåls-ID att inaktivera.
onFinish funktion (valfritt) Återuppringning för hantering av samtycke mottaget händelse. det kommer att anropas när samtycke tas emot och behandlas.
Retur

Inget returvärde.

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


inaktiveraVendorList

Inaktiverar en lista över leverantörer och uppdaterar det givna samtycket.

parametrar
Namn Typ Beskrivning
vendors array Lista över leverantörs-ID att inaktivera.
onFinish funktion (valfritt) Återuppringning för hantering av samtycke mottaget händelse. Det kommer att anropas när samtycke tas emot och behandlas.
Retur

Inget returvärde.

Exempelvis
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

Aktiverar en lista över syften och uppdaterar det givna samtycket.

parametrar
Namn Typ Beskrivning
purposes array Lista över ändamåls-ID att aktivera.
onFinish funktion (valfritt) Återuppringning för hantering av samtycke mottaget händelse. Det kommer att anropas när samtycke tas emot och behandlas.
Retur

Inget returvärde

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


aktiveraVendorList

Aktiverar en lista över leverantörer och uppdaterar det givna samtycket.

parametrar
Namn Typ Beskrivning
vendors array Lista över leverantörs-ID som ska aktiveras.
onFinish funktion (valfritt) Återuppringning för hantering av samtycke mottaget händelse. iJag kommer att ringas upp när samtycke tas emot och behandlas.
Retur

Inget returvärde.

Exempelvis
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

Exporterar den aktuella CMP-strängen som representerar användarens samtyckespreferenser. Denna metod nås på ett statiskt sätt. 

parametrar
Inga.
Retur

Den CMP base64-kodade strängen.

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


getAllPurposes

Returnerar ID:n för alla ändamål.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller ID:n för alla ändamål.

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

Returnerar en lista över ID:n för alla ändamål för en given CMP.

parametrar
Inga.
Retur

En lista som innehåller ID:n för alla ändamål.

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

Returnerar alla leverantörers ID för en given CMP.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller alla leverantörs-ID:n.

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


getAllVendorsList

Returnerar en lista över alla leverantörers ID:n för en given CMP.

parametrar
Inga.
Retur

En lista som innehåller alla leverantörs-ID:n.

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


getConsentString

Returnerar en sträng med det senaste samtycket.

parametrar
Inga.
Retur

En sträng med det senaste samtycket som har bekräftats av användaren.

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

getDisabledPurposes

Returnerar ID:n för alla inaktiverade ändamål för en given CMP.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller ID:n för alla inaktiverade ändamål.

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


getDisabledVendors

Returnerar alla inaktiverade leverantörers ID:n för en given CMP.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller alla inaktiverade leverantörers ID:n.

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


getEnabledPurposes

Returnerar alla aktiverade leverantörers ID:n för en given CMP.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller alla aktiverade leverantörers ID:n.

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


getEnabledPurposeList

Returnerar en lista över alla aktiverade ändamåls ID:n för en given CMP.

parametrar
Inga.
Retur

En lista som innehåller ID:n för alla aktiverade ändamål.

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


getEnabledVendors

Returnerar alla aktiverade leverantörers ID:n för en given CMP.

parametrar
Inga.
Retur

En kommaseparerad sträng som innehåller alla aktiverade leverantörers ID:n.

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


getEnabledVendorList

Returnerar en lista med alla aktiverade leverantörers ID:n för en given CMP.

parametrar
Inga.
Retur

En lista som innehåller alla aktiverade leverantörers ID:n.

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


getGoogleACString

Hämtar Googles extra samtyckes-ID (`addtlConsent`)-strängen som ställts in av consent manager.

För ytterligare information, kolla Teknisk specifikation för Google Ytterligare samtycke.  

parametrar
Inga.
Retur

En lista som innehåller alla aktiverade leverantörers ID:n.

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


getUSPrivacyString

Hämtar US Privacy String. Denna amerikanska integritetssträng är en cookie som lagrar information om avslöjande som gjorts och val som webbplatsbesökaren valt angående deras konsumenträttigheter.

parametrar
Inga.
Retur

En sträng med USA:s sekretessdata satt av consentmanager.

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


har samtycke

Kontrollerar om användaren redan gett sitt samtycke. Samtyckeslagret kan ha möjlighet att bara stänga lagret. I så fall lämnade användaren inget samtycke.

parametrar
Inga.
Retur

En sträng med USA:s sekretessdata satt av consentmanager.

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

Kontrollerar om ändamåls-ID är aktiverat baserat på användarens samtycke.

parametrar
Namn Typ Beskrivning
purposeId Sträng syfte id
Retur

SANT om

  • användaren har gett sitt samtycke till det angivna syftet ELLER
  • av någon anledning relaterad till dålig eller ingen internetanslutning på enheten, kunde samtycket för ändamålet inte hämtas. Se withErrorListener för att hantera dessa villkor under applansering, särskilt för nya användare som ännu inte har gett något samtycke

FALSK annars.

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


har säljarens samtycke

Kontrollerar om leverantörs-ID är aktiverat baserat på användarens samtycke.

parametrar
Namn Typ Beskrivning
vendorId Sträng Leverantörs-ID
Retur
  • användaren har gett sitt samtycke till den angivna leverantören ELLER
  • av någon anledning relaterad till dålig eller ingen internetanslutning på enheten kunde leverantörens samtycke inte hämtas. Se withErrorListener för att hantera dessa villkor under applansering, särskilt för nya användare som ännu inte har gett något samtycke

FALSK annars.

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

Importerar en CMP-sträng som representerar användarens samtyckespreferenser. Strängen måste vara base64-kodad

parametrar
Namn Typ Beskrivning
consentString  Sträng Base64-kodad sträng som representerar samtycket
kompletteringHandler funktion (valfritt) Hanterare för återuppringning av metoden.
Retur

Inga.

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


initialisera

Initialiseringsfunktionen initierar samtyckesskiktet och kontrollerar automatiskt om användaren behöver ett samtycke eller inte. Denna funktion kommer så småningom att öppna samtyckeslagret och kommer att interagera med Apple Tracking Transparency API för att be användaren om samtycke

parametrar
Namn Typ Beskrivning
cmpConfig CmpConfig CmpConfig-objektet skickas med information om appId, Domain, appName och språk (valfritt)
Retur

CMPManagerobjektet.

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


är SamtyckeKrävs

parametrar
Inga.
Retur

SANT om användaren behöver ge ett samtycke

FALSK annars

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

Öppnar CMP-samtyckesskiktets webbvy med kraft.

parametrar
Inga.
Retur

Inget returvärde

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


avvisaAlla

parametrar
Namn Typ Beskrivning
onFinish fungera Frivillig. Återuppringning för hantering av samtycke mottaget händelse. det kommer att anropas när samtycke tas emot och behandlas.
Retur

Inget returvärde

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

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


återställa

Återställer alla egenskaper till standardvärden.

parametrar
Inga.
Retur

Inget returvärde

Exempelvis
CMPManager.reset()

med CloseListener


Lägger till en nära lyssnare för att få aviseringar när samtyckeslagret stängs.

parametrar
Namn Typ Beskrivning
closeListener fungera Callback som kommer att anropas när samtyckeslagret stängs.
Retur

CMPConsentTool

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


med OpenListener

Lägger till en öppen lyssnare för att få aviseringar när samtyckeslagret öppnas.

parametrar
Namn Typ Beskrivning
openListener fungera Callback som kommer att anropas när samtyckeslagret öppnas
Retur

CMPConsentTool

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

med ErrorListener

Lägger till en fellyssnare för att få aviseringar när ett fel inträffade.

parametrar
Namn Typ Beskrivning
errorListener fungera Återuppringning för att lägga till åtgärd om ett fel uppstod.
Retur

CMPConsentTool

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


med OnCMPNotOpenedListener

Lägger till en Cmp ej öppnad återuppringning för att få meddelande när samtyckeslagret inte öppnas. Den vanligaste orsaken är att användaren redan lämnat ett samtycke.

parametrar
Namn Typ Beskrivning
openListener fungera Callback som kommer att anropas när samtyckeslagret inte öppnas. 
Retur

CMPConsentTool

Exempelvis
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

Ställer in en återuppringning för att ta emot aviseringar när användaren klickar på en knapp för att stänga samtyckeslagret.

parametrar
Namn Typ Beskrivning
openListener fungera Återuppringning som kommer att anropas med CmpButtonEvent som indikerar vilken knapp som trycktes.
Retur

CMPConsentTool

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

med CmpViewControllerConfigurationBlock

Anpassa samtyckeslagret UIViewController.

parametrar
Namn Typ Beskrivning

configurationBlock

CmpViewControllerConfigurationBlock

Anpassa samtyckesskiktet

UIViewController.

Retur

CMPConsentTool

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


med CmpViewConfigurationBlock

Anpassa samtyckesskiktets UiView.

parametrar
Namn Typ Beskrivning

configurationBlock

CmpUIViewConfigurationBlock

Anpassa samtyckesskiktet

UiView

Retur

CMPConsentTool

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


medUpdateGoogleConsent

Hämtar status för Googles samtyckesläge. 

parametrar
Namn Typ Beskrivning

consentMap

[Sträng: Sträng]?

Samtyckesstatus
Retur

CMPConsentTool

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

 

Tillbaka till toppen