La CMPManager classe fornisce metodi per gestire il consenso dell'utente al trattamento dei dati e al tracciamento. Questa documentazione illustra i principali metodi disponibili per l'integrazione nelle app mobili.
Tutti gli esempi citati di seguito sono stati estratti dalla nostra App Demo e sono disponibili su di essa.
Verifica i metodi deprecati nel caso in cui tu stia già integrando la v3 del nostro SDK CMP.
Inizializzazione
setUrlConfig()
Imposta la configurazione dell'URL per il Consent Manager.
Parametri:
-
config: AUrlConfigcontenente le seguenti proprietà:-
id: Stringa – L'ID codice recuperato dalla tua dashboard CMP -
domain: Stringa – Il dominio per la gestione del consenso, anch'esso recuperato dalla dashboard -
language: Stringa – Il codice della lingua (ad es. "EN", "IT", "DE", ecc.) -
appName: Stringa – Il nome della tua app, utilizzato solo a fini di reportistica -
jsonConfig: Oggetto JSON – Opzionale, utilizzato solo in casi speciali; non utilizzarlo a meno che non sia chiaramente indicato nella dashboard del CMP insieme agli altri parametri sopra indicati. -
noHash: booleano – Impedisce all'URL generato e caricato dalla webview di utilizzare un hash (#) per trasmettere l'oggetto del consenso
-
Resi: Nullo
Esempio:
CMPManager.shared.setUrlConfig(UrlConfig(
id: "0a000000000a1", // The Code-ID retrieved from your CMP dashboard
domain: "delivery.consentmanager.net", // The domain retrieved from your CMP dashboard
language: "EN", // Language code, examples: IT, DE, EN, etc.
appName: "MyApp" // The name of your app, used for reporting purposes on your CMP dashboard
))
setWebViewConfig()
Configura l'aspetto e il comportamento della WebView di consenso. Puoi impostare la posizione in cui apparirà l'oggetto WKWebView che visualizza il livello di consenso, ad esempio a schermo intero, nella metà inferiore dello schermo o nella sua metà superiore. Inoltre, è possibile applicare lo stile dello sfondo, il raggio degli angoli, se rispettare l'area sicura del dispositivo e se rispondere o meno ai cambiamenti di orientamento, nel caso in cui il tuo dispositivo mobile funzioni solo in un unico orientamento, cosa che di solito accade con i giochi che utilizzano solo la configurazione orizzontale dello schermo del dispositivo.
Parametri:
-
config: AConsentLayerUIConfigoggetto con le seguenti proprietà:-
position: Posizione – La posizione della WebView (ad es., .fullScreen) -
backgroundStyle: BackgroundStyle – Lo stile dello sfondo (ad es., .dimmed) -
cornerRadius: CGFloat – Il raggio dell'angolo della WebView -
respectsSafeArea: Bool – Se rispettare l'area sicura. Questo parametro è presente ma non ha alcun effetto nell'SDK iOS a causa del diverso comportamento dei vari dispositivi e orientamenti (iPhone SE vs iPhone 17 Pro Max vs tutti gli iPad), in particolare perché i lati arrotondati sui diversi dispositivi hanno proporzioni diverse, o per come la Dynamic Island verrebbe gestita dall'app mobile sottostante che integra il nostro SDK, solo per citare alcune delle sfide affrontate durante lo sviluppo. -
allowsOrientationChanges: Bool – Se consentire i cambiamenti di orientamento
-
Resi: Nullo
Esempio:
CMPManager.shared.setWebViewConfig(ConsentLayerUIConfig(
position: .fullScreen,
backgroundStyle: .dimmed(.black, 0.5),
cornerRadius: 10,
respectsSafeArea: true,
allowsOrientationChanges: true
))
setPresentingViewController()
Imposta il view controller che presenterà il layer di consenso. Di solito si passa self come View Controller corrente.
Parametri:
-
viewController: UIViewController – Il view controller per presentare il livello di consenso
Resi: Nullo
Esempio:
CMPManager.shared.setPresentingViewController(self)
setATTStatus()
Imposta lo stato ATT recuperato da ATTManager.AuthorizationStatus, in modo che possa essere visualizzato il livello di consenso mirato corretto.
Parametri:
-
_: il valore grezzo da AuthorizationStatus
Resi: Nullo
Esempio:
cmpManager.setATTStatus(2) // 0 = NotDetermined, 1 = Restricted, 2 = Denied, and 3 = Authorized
// retrieved from ATTManager.AuthorizationStatus
Gestione dei livelli di consenso
getUserStatus()
Fornisce una panoramica dettagliata dello stato attuale del consenso e delle preferenze dell'utente. Questo metodo fornisce informazioni complete sulle scelte di consenso dell'utente, compreso lo stato generale del consenso, le autorizzazioni per i singoli fornitori, i consensi per scopi specifici e le stringhe di consenso pertinenti.
Parametri:
- Nessuno
Ritorni:
Tipo di ritorno: CMPUserStatusResponse oggetto, spiegato nel codice sottostante.
Esempio:
let status = CMPManager.shared.getUserStatus()
var message = "Status: (status.status)nn"
message += "Vendors:n"
for (vendorId, state) in status.vendors {
message += "- (vendorId): (state)n"
}
message += "nPurposes:n"
for (purposeId, state) in status.purposes {
message += "- (purposeId): (state)n"
}
message += "nTCF: (status.tcf)n"
message += "Additional Consent: (status.addtlConsent)n"
message += "Regulation: (status.regulation)"
print(message)
isConsentRequired()
Verifica se è richiesto il consenso per l'utente senza visualizzare automaticamente il layer di consenso se necessario. Questo effettuerà una chiamata di rete ai nostri server tramite il WKWebView creato all'interno del nostro SDK, che invierà un messaggio al nostro backend tramite JavaScript. Il nostro backend rileverà se il dispositivo ha un consenso valido e restituirà false se il consenso trovato nel dispositivo è valido oppure true se è necessario raccogliere un nuovo consenso dall'utente, consumando una visualizzazione di pagina nel processo.
Parametri: Nessuno
Ritorno:
-
completion: (Bool) -> Void – Una chiusura chiamata con il risultato, ovverotruese non è stato trovato alcun consenso valido ofalsein caso contrario.
Esempio:
CMPManager.shared.isConsentRequired { required in
print("Consent is required: (required)")
}
checkAndOpen()
Verifica con il server se è richiesto il consenso e, se necessario, apre il layer di consenso. Questo effettuerà una chiamata di rete ai nostri server tramite il WKWebView creato all'interno del nostro SDK, consumando una visualizzazione di pagina nel processo. Questa chiamata di rete invierà un messaggio al nostro backend tramite JavaScript, che rileverà se il dispositivo ha un consenso valido o meno, il che a sua volta determinerà se il layer di consenso debba essere visualizzato o meno.
Parametri:
-
jumpToSettings: Un valore booleano per determinare se il layer di consenso visualizzato reindirizzerà automaticamente alla pagina in cui è possibile un controllo più granulare sui consensi forniti dagli utenti, consentendo loro di perfezionare le proprie scelte (se impostato sutrue) oppure alla schermata iniziale predefinita con i pulsanti (se impostato sufalseo soppresso). -
completion: Una chiusura chiamata quando l'operazione è completata.
Resi: Nullo
Esempio:
CMPManager.shared.checkAndOpen { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Check completed successfully")
}
}
forceOpen()
Apre il layer di consenso. Effettua una richiesta di rete al nostro backend, consumando una visualizzazione di pagina nel processo. Visualizzerà il layer di consenso consentendo all'utente di Accettare tutto o Rifiutare tutto, oppure, a seconda del parametro jumpToSettings, permetterà di gestire i consensi in modo più granulare.
Parametri:
-
jumpToSettings: Un valore booleano per determinare se il layer di consenso visualizzato reindirizzerà automaticamente alla pagina in cui è possibile un controllo più granulare sui consensi forniti dagli utenti, consentendo loro di perfezionare le proprie scelte (se impostato sutrue) oppure alla schermata iniziale predefinita con i pulsanti (se impostato sufalseo soppresso). -
completion: Una chiusura chiamata al completamento dell'operazione, che restituisce un esito positivo o un errore.
Resi: Nullo
Esempio:
CMPManager.shared.forceOpen { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Consent layer opened successfully")
}
}
Stato del consenso
exportCMPInfo()
Esporta le informazioni di consenso correnti memorizzate sul dispositivo come stringa. Questo metodo recupera la stringa di consenso dall'area UserDefaults del dispositivo e la restituisce. Di solito queste informazioni vengono passate al importCMPInfo metodo.
Restituisce: String – Le informazioni sul consenso esportate
Esempio:
let cmpInfo = CMPManager.shared.exportCMPInfo()
print("Exported CMP info: (cmpInfo)")
getGoogleConsentModeStatus()
Si integra perfettamente con Consent Mode, una tecnologia di Google che consente la modellazione di conversioni e analisi, permettendo ai servizi di Google di colmare le lacune di dati quando gli utenti non danno il consenso. Questa funzione traduce il consenso dell'utente dal tuo CMP in un formato comprensibile da Firebase Analytics, così puoi semplicemente ottenere il risultato di questo metodo e passarlo al metodo .setConsent di Firebase.
- A quel punto aggiorna Google Analytics con lo stato attuale del consenso dell'utente.
Parametri:
- Nessuno
Restituisce: [String: String] – Un array di valori chiave con le quattro chiavi della Modalità Consenso di Google: .analyticsStorage, .adStorage, .adUserData e .adPersonalization, e i rispettivi valori in termini di .choiceDoesntExist, .granted o .denied.
Esempio:
showToast(message: "Google Consent Mode Status: n (CMPManager.shared.getGoogleConsentModeStatus())")
getStatusForPurpose()
Verifica se è stato dato il consenso per uno scopo specifico e se tale consenso è memorizzato sul dispositivo. Controlla l'area UserDefaults per i consensi accettati o rifiutati e filtra l'ID passato come parametro, restituendo true se il consenso è stato accettato o false in caso contrario.
Parametri:
-
id: String – L'ID dello scopo da verificare
Risultati: UniqueConsentStatus – Un elenco con i valori .choiceDoesntExist se non è stato dato il consenso, .granted oppure .denied.
Esempio:
let purposeStatus = CMPManager.shared.getStatusForPurpose(id: "c53")
var message = "Purpose c53 status: "
switch purposeStatus {
case .choiceDoesntExist: message += "No Choice"
case .granted: message += "Granted"
case .denied: message += "Denied"
@unknown default: message += "No Choice"
}
getStatusForVendor()
Verifica se è stato dato il consenso per un fornitore specifico e se tale consenso è memorizzato sul dispositivo. Controlla l'area UserDefaults per i consensi accettati o rifiutati e filtra l'ID passato come parametro, restituendo true se il consenso è stato accettato o false in caso contrario.
Parametri:
-
id: String – L'ID dello scopo da verificare
Risultati: UniqueConsentStatus – Un enum con i valori .choiceDoesntExist se non è stato dato il consenso, .granted oppure .denied.
Esempio:
let purposeStatus = CMPManager.shared.getStatusForVendor(id: "s2789")
var message = "Vendor s2789's status: "
switch purposeStatus {
case .choiceDoesntExist: message += "No Choice"
case .granted: message += "Granted"
case .denied: message += "Denied"
@unknown default: message += "No Choice"
}
Modifica del consenso
acceptAll()
Accetta il consenso per tutte le finalità e i fornitori, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà l’accettazione di tutti i consensi, in base alla configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che il callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.acceptAll { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("All consents accepted successfully")
}
}
acceptPurposes()
Accetta il consenso per scopi specifici, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà l’accettazione degli scopi determinati passati come parametro, secondo la configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che il callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
purposes: [String] – Un array di ID di scopo da accettare -
updatePurpose: Bool – Se aggiornare le finalità correlate -
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.acceptPurposes(["c52", "c53"], updatePurpose: true) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Purposes accepted successfully")
}
}
acceptVendors()
Accetta il consenso per fornitori specifici, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà l’accettazione dei fornitori specificati passati come parametro, in base alla configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che la callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
vendors: [String] – Un array di ID dei fornitori da accettare -
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.acceptVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Vendors accepted successfully")
}
}
importCMPInfo()
Importa le informazioni sul consenso da una stringa CMP. In questo modo si riceverà una stringa contenente i dati relativi al consenso, solitamente ottenuti tramite il exportCMPInfo metodo. Queste informazioni vengono salvate nell’area UserDefaults del dispositivo e, allo stesso tempo, inviate al nostro backend tramite un messaggio inserito nel WKWebView, consumando una visualizzazione di pagina nel processo.
Parametri:
-
cmpString: String – La stringa CMP da importare -
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
let cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
CMPManager.shared.importCMPInfo(cmpString) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("CMP info imported successfully")
}
}
rejectAll()
Rifiuta il consenso per tutti gli scopi e i fornitori, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà il rifiuto di tutti i consensi, in base alla configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che il callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.rejectAll { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("All consents rejected successfully")
}
}
rejectPurposes()
Rifiuta il consenso per scopi specifici, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà il rifiuto degli scopi determinati passati come parametro, in base alla configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che il callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
purposes: [String] – Un array di ID di scopo da rifiutare -
updateVendor: Bool – Se aggiornare i fornitori correlati -
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.rejectPurposes(["c52", "c53"], updateVendor: true) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Purposes rejected successfully")
}
}
rejectVendors()
Rifiuta il consenso per fornitori specifici, consumando una visualizzazione di pagina nel processo. Effettua una chiamata di rete al nostro backend tramite un messaggio inserito nel WKWebView, che attiverà il rifiuto dei fornitori determinati passati come parametro, in base alla configurazione del CMP. Queste informazioni saranno disponibili per gli altri metodi solo dopo che il callback avrà restituito un esito positivo o negativo, il che significa che sono state elaborate con successo dal nostro backend e salvate sul dispositivo.
Parametri:
-
vendors: [String] – Un array di ID dei fornitori da rifiutare -
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.rejectVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Vendors rejected successfully")
}
}
resetConsentManagementData()
Questo rimuove le coppie chiave/valore dalle aree UserDefaults e SharedPreferences del dispositivo. Per cancellare completamente i dati, potrebbe essere necessario rimuovere i cookie, i record di dati, la cronologia e la cache di WebView, in modo da imporre la necessità di un nuovo consenso.
Parametri:
-
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.resetConsentManagementData { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Consent management data reset successfully")
}
}
Trasmissione dei dati relativi al consenso a SDK di terze parti
aggiornamento del consenso di terze parti
Questo metodo gestisce il passaggio automatico dei dati di consenso a SDK di terze parti come AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge e Tenjin. Funziona tramite introspezione/riflessione, quindi inizializza l'SDK di terze parti con le tue credenziali utilizzando la consueta strategia raccomandata dal provider, e il nostro SDK CMP rileverà l'istanza dell'SDK di terze parti e richiamerà i metodi necessari dietro le quinte.
Eventi CMPManagerDelegate
getOnClickLinkCallback
L'SDK fornisce un meccanismo flessibile di gestione dei link che consente alle applicazioni di personalizzare la gestione degli URL all'interno del livello di consenso. Per impostazione predefinita, tutti i link si aprono all'interno della WebView, ma le applicazioni possono intercettare URL specifici per gestirli esternamente quando necessario.
// Example 1: Handle specific domains in external browser
cmpManager.setLinkClickHandler { url in
// Handle links to specific domains externally
if url.host?.contains("google.com") == true ||
url.host?.contains("facebook.com") == true {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true // URL handled externally
}
// Let other URLs load in the WebView
return false
}
// Example 2: Handle URLs based on scheme
cmpManager.setLinkClickHandler { url in
// Open mail links in mail app
if url.scheme == "mailto" {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true
}
// Open tel links in phone app
if url.scheme == "tel" {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
return true
}
// Let all other URLs load in the WebView
return false
}
didReceiveConsent(consent: String, jsonObject: [String: Any])
Questo viene attivato quando il layer dei consensi è stato chiuso dopo che l'utente ha aggiornato i propri consensi OPPURE quando si invocano metodi che causano modifiche ai consensi, come acceptAll, rejectAll, acceptVendors, rejectVendors, ecc. Ciò significa che l'utente ha accettato o rifiutato alcuni o tutti i consensi e che questi sono stati correttamente salvati sul dispositivo.
didShowConsentLayer
Questo viene attivato quando il layer di consenso è stato effettivamente visualizzato. Significa che non era presente un consenso valido sul dispositivo, quindi è necessario raccoglierne uno nuovo.
didCloseConsentLayer
Questo viene attivato quando:
1. L'SDK ha verificato la necessità di un consenso, ma non era necessario e il layer non è stato visualizzato. Significa che ce n'è già uno valido sul dispositivo, quindi non è necessario un nuovo e il layer di consenso non verrà visualizzato.
2. L'utente ha interagito con il layer di consenso e ha dato il proprio consenso, chiudendo il layer.
didReceiveError
Questo viene attivato quando l'SDK riscontra un errore, restituendone il codice. In caso di condizioni di rete scadenti, è prevedibile un timeout fisso di circa 10 secondi.
Metodi deprecati
Tutti i metodi riportati di seguito sono stati deprecati e saranno completamente rimossi dall'SDK a partire da luglio 2025.
checkIfConsentIsRequired()
Verifica se è richiesto il consenso dell'utente. Questo effettuerà una chiamata di rete ai nostri server tramite il WKWebView creato all'interno del nostro SDK, che invierà un messaggio al nostro backend tramite JavaScript. Il nostro backend rileverà se il dispositivo dispone di un consenso valido o meno, e un messaggio verrà rispedito al WKWebView, determinando se deve essere visualizzato o meno, consumando una visualizzazione di pagina nel processo. A seconda del messaggio restituito, l'SDK lo interpreterà e restituirà i risultati tramite il gestore di completamento.
Parametri:
-
completion: (Bool) -> Void – Una chiusura chiamata con il risultato, ovverotrueofalse.
Risultati: Tono
Esempio:
CMPManager.shared.checkIfConsentIsRequired { required in
print("Consent is required: (required)")
}
jumpToSettings()
Apre il layer di consenso e passa direttamente alla pagina delle impostazioni. Questo effettuerà una chiamata di rete ai nostri server, consumando una visualizzazione di pagina nel processo, richiamando la visualizzazione del WKWebView, ma visualizzando la pagina delle Impostazioni invece della pagina iniziale del layer di consenso, che offre agli utenti la possibilità di Accettare tutto o Rifiutare tutto. Questo, invece, porterà alla pagina in cui viene offerto agli utenti un controllo più granulare sui consensi, consentendo loro di mettere a punto le proprie scelte.
Parametri:
-
completion: Una chiusura chiamata quando l'operazione è completata
Resi: Nullo
Esempio:
CMPManager.shared.jumpToSettings { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Jumped to settings successfully")
}
}
hasPurposeConsent()
Verifica se è stato dato il consenso per uno scopo specifico e se tale consenso è memorizzato sul dispositivo. Controlla l'area UserDefaults per i consensi accettati o rifiutati e filtra l'ID passato come parametro, restituendo true se il consenso è stato accettato o false in caso contrario.
Nota: controlla sempre prima hasUserChoice()! Nei casi in cui non esista alcuna scelta, la funzione potrebbe restituire valori di ritorno inaspettati.
Parametri:
-
id: String – L'ID dello scopo da verificare
Restituzioni: Bool – True se viene dato il consenso, false altrimenti
Esempio:
let hasPurposeConsent = CMPManager.shared.hasPurposeConsent(id: "c53")
print("Has consent for purpose c53: (hasPurposeConsent)")
hasUserChoice()
Verifica se l'utente ha effettuato una scelta riguardo ai consensi e se tale consenso è memorizzato sul dispositivo. Ciò significa che l'utente ha accettato tutti i consensi, li ha rifiutati tutti, oppure ha effettuato una scelta mista di consensi rifiutati e accettati, a seconda del design del CMP, che potrebbe consentire agli utenti di accettare alcuni consensi e rifiutarne altri. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell'area UserDefaults, quindi se si effettua il controllo subito dopo aver utilizzato metodi che innescano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Risultati: Bool – true se l'utente ha effettuato una scelta, false altrimenti
Esempio:
let hasChoice = CMPManager.shared.hasUserChoice()
print("User has made a choice: (hasChoice)")
hasVendorConsent()
Verifica se è stato dato il consenso per un fornitore specifico e se tale consenso è memorizzato sul dispositivo, in base alle configurazioni del CMP. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell’area UserDefaults, quindi se esegui la verifica subito dopo aver utilizzato metodi che innescano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, allora attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Parametri:
-
id: String – L'ID del fornitore da verificare
Restituzioni: Bool – True se viene dato il consenso, false altrimenti
Esempio:
let hasVendorConsent = CMPManager.shared.hasVendorConsent(id: "s2789")
print("Has consent for vendor s2789: (hasVendorConsent)")
getAllPurposesIDs()
Recupera tutti gli ID generici memorizzati sul dispositivo, in base alle configurazioni del CMP. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell’area UserDefaults, quindi se esegui il controllo subito dopo aver utilizzato metodi che modificano il consenso, come openConsentLayer, acceptAll o rejectAll, ad esempio, attendi che venga attivato il callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array di tutti gli ID di destinazione
Esempio:
let allPurposes = CMPManager.shared.getAllPurposesIDs()
print("All purposes: (allPurposes)")
getAllVendorsIDs()
Recupera tutti gli ID dei fornitori memorizzati sul dispositivo, in base alle configurazioni del CMP. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell'area UserDefaults, quindi se esegui il controllo subito dopo aver utilizzato metodi che modificano il consenso, come openConsentLayer, acceptAll o rejectAll, ad esempio, allora attendi che venga attivato il callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array contenente tutti gli ID dei fornitori
Esempio:
let allVendors = CMPManager.shared.getAllVendorsIDs()
print("All vendors: (allVendors)")
getDisabledPurposesIDs()
Recupera gli ID di tutte le finalità disabilitate memorizzate sul dispositivo, in base alle configurazioni del CMP e alle scelte dell'utente. Se l'utente accetta tutti i consensi, questo campo risulterà vuoto. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell’area UserDefaults, quindi se stai controllando subito dopo aver utilizzato metodi che innescano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array di ID di scopo disabilitati
Esempio:
let disabledPurposes = CMPManager.shared.getDisabledPurposesIDs()
print("Disabled purposes: (disabledPurposes)")
getDisabledVendorsIDs()
Recupera gli ID di tutti i fornitori disabilitati memorizzati sul dispositivo, in base alle configurazioni del CMP. Se l'utente accetta tutti i consensi, questo campo risulterà vuoto. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell'area UserDefaults, quindi se stai controllando subito dopo aver utilizzato metodi che attivano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array di ID fornitore disabilitati
Esempio:
let disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
print("Disabled vendors: (disabledVendors)")
getEnabledPurposesIDs()
Recupera gli ID di tutte le finalità abilitate memorizzate sul dispositivo, in base alle configurazioni del CMP. Se l'utente rifiuta tutti i consensi, questo campo risulterà vuoto. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell'area UserDefaults, quindi se stai controllando subito dopo aver utilizzato metodi che innescano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array di ID di scopo abilitati
Esempio:
let enabledPurposes = CMPManager.shared.getEnabledPurposesIDs()
print("Enabled purposes: (enabledPurposes)")
getEnabledVendorsIDs()
Recupera gli ID di tutti i fornitori abilitati memorizzati sul dispositivo. Se l'utente rifiuta tutti i consensi, questo campo risulterà vuoto. Queste informazioni saranno aggiornate solo dopo che il consenso sarà stato correttamente salvato nell'area UserDefaults, quindi se stai controllando subito dopo aver utilizzato metodi che innescano modifiche al consenso come openConsentLayer, acceptAll o rejectAll, ad esempio, allora attendi che venga attivata la callback da quei metodi prima di accedere al metodo hasUserChoice, per assicurarti che le informazioni siano aggiornate.
Restituisce: [String] – Un array di ID fornitore abilitati
Esempio:
let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: (enabledVendors)")