[iOS] 3. API-dokumentation
acceptera alla
Accepterar samtyckesskiktet och beter sig på samma sätt när användaren accepterar samtycket.
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
Kontrollerar om samtycke krävs från användaren och returnerar eventuellt cachade resultat.
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
SANT om
- 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
Kontrollerar om samtycke måste lämnas av den aktuella appanvändaren.
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
Avvisar samtyckeslagret och beter sig på samma sätt när användaren inte accepterade samtycket.
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 |
|
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 |
|
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 |
|
[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
}
}