La CMPManager classe fournit des méthodes pour gérer le consentement de l'utilisateur concernant le traitement des données et le suivi. Cette documentation couvre les principales méthodes disponibles pour l'intégration dans les applications mobiles.
Tous les exemples mentionnés ci-dessous sont extraits de notre application de démonstration et peuvent y être consultés.
Veuillez vérifier les méthodes obsolètes si vous intégrez déjà la version 3 de notre SDK CMP.
Initialisation
setUrlConfig()
Définit la configuration de l'URL pour le gestionnaire de consentement.
Paramètres :
-
config: AUrlConfigcontenant les propriétés suivantes :-
id: Chaîne – L'identifiant de code récupéré depuis votre tableau de bord CMP -
domain: Chaîne – Le domaine pour la gestion des consentements, également récupéré depuis le tableau de bord -
language: Chaîne – Le code de langue (par exemple, « EN », « IT », « DE », etc.) -
appName: Chaîne – Le nom de votre application, utilisé uniquement à des fins de reporting -
jsonConfig: Objet JSON – Facultatif, utilisé uniquement dans des cas particuliers ; ne l'utilisez pas sauf si cela est clairement indiqué sur votre tableau de bord CMP avec les autres paramètres ci-dessus. -
noHash: booléen – Empêche l'URL générée chargée par la vue Web d'utiliser un hachage (#) pour transmettre l'objet de consentement
-
Retours : Nul
Exemple :
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()
Configure l'apparence et le comportement de la WebView de consentement. Vous pouvez définir la position où l'objet WKWebView affichant la couche de consentement apparaîtra, par exemple en plein écran, dans la moitié inférieure de l'écran ou dans sa moitié supérieure. De plus, vous pouvez appliquer un style d'arrière-plan, définir le rayon des coins, choisir si la couche respectera la zone de sécurité de l'appareil, et déterminer si elle s'adaptera aux changements d'orientation ou non, au cas où votre appareil mobile ne fonctionnerait que dans une seule orientation, ce qui est généralement le cas pour les jeux qui utilisent uniquement la configuration horizontale de l'écran de l'appareil.
Paramètres :
-
config: AConsentLayerUIConfigobjet avec les propriétés suivantes :-
position: Position – La position de la WebView (par ex., .fullScreen) -
backgroundStyle: BackgroundStyle – Le style d'arrière-plan (par ex., .dimmed) -
cornerRadius: CGFloat – Le rayon des coins de la WebView -
respectsSafeArea: Bool – Indique s'il faut respecter la zone de sécurité. Ce paramètre est présent mais n'a aucun effet dans le SDK iOS en raison des différences de comportement entre les appareils et les orientations (iPhone SE vs iPhone 17 Pro Max vs tous les iPad), notamment en raison des proportions différentes des bords arrondis sur les différents appareils, ou de la manière dont la Dynamic Island serait gérée par l'application mobile sous-jacente intégrant notre SDK, pour ne citer que quelques-uns des défis rencontrés lors du développement. -
allowsOrientationChanges: Bool – Indique s'il faut autoriser les changements d'orientation
-
Retours : Nul
Exemple :
CMPManager.shared.setWebViewConfig(ConsentLayerUIConfig(
position: .fullScreen,
backgroundStyle: .dimmed(.black, 0.5),
cornerRadius: 10,
respectsSafeArea: true,
allowsOrientationChanges: true
))
setPresentingViewController()
Définit le contrôleur de vue qui présentera la couche de consentement. En général, on transmet self comme contrôleur de vue actuel.
Paramètres :
-
viewController: UIViewController – Le contrôleur de vue permettant d'afficher la couche de consentement
Retours : Nul
Exemple :
CMPManager.shared.setPresentingViewController(self)
setATTStatus()
Définit le statut ATT récupéré depuis ATTManager.AuthorizationStatus, afin que la couche de consentement ciblée appropriée puisse s'afficher.
Paramètres :
-
_: la valeur brute de l'AuthorizationStatus
Retours : Nul
Exemple :
cmpManager.setATTStatus(2) // 0 = NotDetermined, 1 = Restricted, 2 = Denied, and 3 = Authorized
// retrieved from ATTManager.AuthorizationStatus
Gestion des couches de consentement
getUserStatus()
Renvoie un aperçu détaillé du statut actuel du consentement et des préférences de l'utilisateur. Cette méthode fournit des informations complètes sur les choix de consentement de l'utilisateur, y compris son statut global de consentement, les autorisations accordées à chaque fournisseur, les consentements spécifiques à une finalité et les chaînes de consentement pertinentes.
Paramètres :
- Aucun
Retours :
Type de retour : CMPUserStatusResponse objet, expliqué dans le code ci-dessous.
Exemple :
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()
Vérifie si le consentement de l'utilisateur est requis sans afficher automatiquement la fenêtre de consentement si nécessaire. Cela effectuera un appel réseau vers nos serveurs via le WKWebView créé dans notre SDK, qui enverra un message à notre backend via JavaScript. Notre backend détectera si l'appareil dispose d'un consentement valide et renverra false si le consentement trouvé sur l'appareil est valide ou true si un nouveau consentement doit être obtenu de l’utilisateur, ce qui consomme une page vue dans le processus.
Paramètres : Aucun
Retour :
-
completion: (Bool) -> Void – Une fermeture appelée avec le résultat, soittruesi aucun consentement valide n'a été trouvé,falsedans le cas contraire.
Exemple :
CMPManager.shared.isConsentRequired { required in
print("Consent is required: (required)")
}
checkAndOpen()
Vérifie auprès du serveur si un consentement est requis et ouvre la couche de consentement si nécessaire. Cela effectuera un appel réseau vers nos serveurs via le WKWebView créé au sein de notre SDK, ce qui consommera une page vue. Cet appel réseau enverra un message à notre backend via JavaScript, qui détectera si l'appareil dispose d'un consentement valide ou non, ce qui déterminera à son tour si la fenêtre de consentement doit s'afficher ou non.
Paramètres :
-
jumpToSettings: Une valeur booléenne permettant de déterminer si la couche de consentement affichée redirigera automatiquement vers la page offrant un contrôle plus précis sur les consentements donnés par les utilisateurs, leur permettant d’affiner leurs choix (lorsqu’elle est définie surtrue) ou vers l'écran initial par défaut avec les boutons (lorsqu'elle est définie surfalseou supprimé). -
completion: Une fermeture appelée lorsque l'opération est terminée.
Retours : Nul
Exemple :
CMPManager.shared.checkAndOpen { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Check completed successfully")
}
}
forceOpen()
Ouvre la fenêtre de consentement. Elle effectue un appel réseau vers notre backend, ce qui consomme une page vue. Elle affiche la fenêtre de consentement permettant à l'utilisateur soit d'accepter tout, soit de rejeter tout, ou, selon le paramètre jumpToSettings, de contrôler les consentements de manière plus fine.
Paramètres :
-
jumpToSettings: Une valeur booléenne permettant de déterminer si la couche de consentement affichée redirigera automatiquement vers la page offrant un contrôle plus précis sur les consentements donnés par les utilisateurs, leur permettant d’affiner leurs choix (lorsqu’elle est définie surtrue) ou vers l'écran initial par défaut avec les boutons (lorsqu'elle est définie surfalseou supprimé). -
completion: Une fermeture appelée lorsque l'opération est terminée, renvoyant soit un succès, soit une erreur.
Retours : Nul
Exemple :
CMPManager.shared.forceOpen { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Consent layer opened successfully")
}
}
Statut du consentement
exportCMPInfo()
Exporte les informations de consentement actuelles stockées sur l'appareil sous forme de chaîne de caractères. Cette méthode récupère la chaîne de consentement dans la zone UserDefaults de l'appareil et la renvoie. Généralement, ces informations sont transmises à la importCMPInfo méthode.
Retourne : Chaîne de caractères – Les informations de consentement exportées
Exemple :
let cmpInfo = CMPManager.shared.exportCMPInfo()
print("Exported CMP info: (cmpInfo)")
getGoogleConsentModeStatus()
S'intègre parfaitement à Consent Mode, une technologie Google qui permet la modélisation de la conversion et de l'analyse, permettant ainsi aux services Google de combler les lacunes de données lorsque les utilisateurs ne donnent pas leur consentement. Cette fonction traduit le consentement de l'utilisateur provenant de votre CMP dans un format compréhensible par Firebase Analytics. Il vous suffit donc de récupérer le résultat de cette méthode et de le transmettre à la méthode .setConsent de Firebase.
- Le système met ensuite à jour Google Analytics avec le statut actuel du consentement de l'utilisateur.
Paramètres :
- Aucun
Résultats : [String: String] – Un tableau de valeurs-clés contenant les quatre clés du mode de consentement de Google : .analyticsStorage, .adStorage, .adUserData et .adPersonalization, ainsi que leurs valeurs respectives en termes de .choiceDoesntExist, .granted ou .denied.
Exemple :
showToast(message: "Google Consent Mode Status: n (CMPManager.shared.getGoogleConsentModeStatus())")
getStatusForPurpose()
Vérifie si le consentement a été donné pour un objectif spécifique et si ce consentement est stocké sur l'appareil. Il vérifie la zone UserDefaults pour les consentements acceptés ou rejetés, et filtre l'ID transmis en tant que paramètre, renvoyant « true » si le consentement a été accepté ou « false » dans le cas contraire.
Paramètres :
-
id: Chaîne – L'identifiant de l'objectif à vérifier
Résultats : UniqueConsentStatus – Une énumération avec les valeurs .choiceDoesntExist si aucun consentement n'a été donné, .granted ou .denied.
Exemple :
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()
Vérifie si le consentement a été donné pour un fournisseur spécifique et si ce consentement est stocké sur l'appareil. Il vérifie la zone UserDefaults pour les consentements acceptés ou rejetés, et filtre l'ID transmis en tant que paramètre, renvoyant « true » si le consentement a été accepté ou « false » dans le cas contraire.
Paramètres :
-
id: Chaîne – L'identifiant de l'objectif à vérifier
Résultats : UniqueConsentStatus – Une énumération avec les valeurs .choiceDoesntExist si aucun consentement n'a été donné, .granted ou .denied.
Exemple :
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"
}
Consent Modification
acceptAll()
Accepte le consentement pour toutes les finalités et tous les fournisseurs, en consommant une page vue au cours du processus. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenchera l'acceptation de tous les consentements, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après le retour d'un résultat de réussite ou d'échec par le callback, ce qui signifie qu'elles ont été traitées avec succès par notre backend et enregistrées sur l'appareil.
Paramètres :
-
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.acceptAll { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("All consents accepted successfully")
}
}
acceptPurposes()
Accepte le consentement pour des finalités spécifiques, en consommant une page vue au cours du processus. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenchera l'acceptation des finalités déterminées transmises en tant que paramètre, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après le retour d'un succès ou d'un échec par le callback, ce qui signifie qu'elles ont été traitées avec succès par notre backend et enregistrées sur l'appareil.
Paramètres :
-
purposes: [String] – Un tableau d'identifiants d'objectif à accepter -
updatePurpose: Bool – Faut-il mettre à jour les finalités associées ? -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.acceptPurposes(["c52", "c53"], updatePurpose: true) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Purposes accepted successfully")
}
}
acceptVendors()
Accepte le consentement pour des fournisseurs spécifiques, en consommant une page vue au cours du processus. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenchera l'acceptation des fournisseurs déterminés transmis en tant que paramètre, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après le retour d'un résultat de réussite ou d'échec par le callback, ce qui signifie qu'elles ont été traitées avec succès par notre backend et enregistrées sur l'appareil.
Paramètres :
-
vendors: [Chaîne] – Un tableau d'identifiants de fournisseurs à accepter -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.acceptVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Vendors accepted successfully")
}
}
importCMPInfo()
Importe les informations de consentement à partir d'une chaîne CMP. Cela permettra de recevoir une chaîne contenant les données de consentement, généralement obtenues via la exportCMPInfo méthode. Ces informations sont enregistrées dans la zone UserDefaults de l'appareil et, en même temps, envoyées à notre backend via un message injecté dans le WKWebView, ce qui consomme une page vue dans le processus.
Paramètres :
-
cmpString: Chaîne – La chaîne CMP à importer -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
let cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
CMPManager.shared.importCMPInfo(cmpString) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("CMP info imported successfully")
}
}
rejectAll()
Refuse le consentement pour toutes les finalités et tous les fournisseurs, ce qui consomme une page vue. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenche le refus de tous les consentements, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après que le rappel ait renvoyé un succès ou un échec, ce qui signifie qu'elles ont été traitées avec succès par notre backend et conservées sur l'appareil.
Paramètres :
-
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.rejectAll { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("All consents rejected successfully")
}
}
rejectPurposes()
Refuse le consentement pour des finalités spécifiques, ce qui consomme une page vue. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenche le refus des finalités déterminées transmises en paramètre, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après que le rappel ait renvoyé un succès ou un échec, ce qui signifie qu'elles ont été traitées avec succès par notre backend et enregistrées sur l'appareil.
Paramètres :
-
purposes: [String] – Un tableau d'identifiants de but à rejeter -
updateVendor: Bool – Faut-il mettre à jour les fournisseurs associés ? -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.rejectPurposes(["c52", "c53"], updateVendor: true) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Purposes rejected successfully")
}
}
rejectVendors()
Refuse le consentement pour des fournisseurs spécifiques, ce qui consomme une page vue. Il effectue un appel réseau vers notre backend via un message injecté dans le WKWebView, ce qui déclenche le refus des fournisseurs déterminés transmis en paramètre, conformément à la configuration du CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après que le rappel ait renvoyé un succès ou un échec, ce qui signifie qu'elles ont été traitées avec succès par notre backend et persistées sur l'appareil.
Paramètres :
-
vendors: [Chaîne] – Un tableau d'identifiants de fournisseurs à rejeter -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.rejectVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Vendors rejected successfully")
}
}
resetConsentManagementData()
Cela supprime les paires clé/valeur des zones UserDefaults et SharedPreferences de l'appareil. Afin d'effacer complètement les données, vous devrez peut-être supprimer les cookies, les enregistrements de données, l'historique et le cache de la vue Web afin de forcer la nécessité d'un nouveau consentement.
Paramètres :
-
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.resetConsentManagementData { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Consent management data reset successfully")
}
}
Transmission des données de consentement à des SDK tiers
updateThirdPartyConsent
Cette méthode gère le transfert automatique des données de consentement vers des SDK tiers tels que AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge et Tenjin. Elle fonctionne via l'introspection/la réflexion ; initialisez donc le SDK tiers avec vos identifiants en utilisant la stratégie habituelle recommandée par le fournisseur, et notre SDK CMP détectera l'instance du SDK tiers et invoquera les méthodes nécessaires en arrière-plan.
Événements CMPManagerDelegate
getOnClickLinkCallback
Le SDK fournit un mécanisme flexible de gestion des liens qui permet aux applications de personnaliser la manière dont les URL au sein de la couche de consentement sont gérées. Par défaut, tous les liens s'ouvrent dans la WebView, mais les applications peuvent intercepter des URL spécifiques pour les traiter en externe si nécessaire.
// 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])
Cela se produit lorsque la fenêtre de consentement a été fermée après que l'utilisateur a mis à jour ses consentements OU lors de l'appel de méthodes entraînant des modifications des consentements, telles que acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Cela signifie que l'utilisateur a accepté ou rejeté tout ou partie des consentements, et que ceux-ci ont été correctement enregistrés sur l'appareil.
didShowConsentLayer
Cela se déclenche lorsque la fenêtre de consentement a effectivement été affichée. Cela signifie qu'il n'y avait pas de consentement valide sur l'appareil, et qu'il faut donc en recueillir un nouveau.
didCloseConsentLayer
Cela se produit lorsque :
1. Le SDK a vérifié la nécessité d'un consentement, mais celui-ci n'était pas nécessaire et la fenêtre contextuelle n'a pas été affichée. Cela signifie qu'il en existe déjà une valide sur l'appareil, donc une nouvelle n'est pas nécessaire et la fenêtre de consentement ne s'affichera pas.
2. L'utilisateur a interagi avec la fenêtre de consentement et a donné son consentement, en la fermant.
didReceiveError
Ceci se déclenche lorsque le SDK rencontre une erreur, en renvoyant son code. En cas de mauvaise connexion réseau, il faut s'attendre à un délai d'expiration fixe d'environ 10 secondes.
Méthodes obsolètes
Toutes les méthodes ci-dessous sont obsolètes et seront complètement supprimées du SDK à partir de juillet 2025.
checkIfConsentIsRequired()
Vérifie si le consentement de l'utilisateur est requis. Cela effectuera un appel réseau vers nos serveurs via le WKWebView créé dans notre SDK, qui enverra un message à notre backend via JavaScript. Notre backend détectera si l'appareil dispose d'un consentement valide ou non, et un message sera renvoyé à la WKWebView, déterminant s'il doit être affiché ou non, ce qui consommera une page vue dans le processus. En fonction du message renvoyé, le SDK l'interprétera et renverra ses résultats via le gestionnaire de fin d'exécution.
Paramètres :
-
completion: (Bool) -> Void – Une fermeture appelée avec le résultat, soittrueoufalse.
Retours : Ton
Exemple :
CMPManager.shared.checkIfConsentIsRequired { required in
print("Consent is required: (required)")
}
jumpToSettings()
Ouvre la couche de consentement et redirige directement vers la page des paramètres. Cela effectuera un appel réseau vers nos serveurs, consommant une page vue au passage, et affichera la WKWebView, mais avec la page des paramètres à la place de la page initiale de la couche de consentement, qui donne aux utilisateurs le choix d'accepter ou de refuser tous les consentements. Cette option, en revanche, redirigera vers la page où un contrôle plus fin des consentements est offert aux utilisateurs, leur permettant d'affiner leurs choix.
Paramètres :
-
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Nul
Exemple :
CMPManager.shared.jumpToSettings { error in
if let error = error {
print("Error: (error.localizedDescription)")
} else {
print("Jumped to settings successfully")
}
}
hasPurposeConsent()
Vérifie si le consentement a été donné pour un objectif spécifique et si ce consentement est stocké sur l'appareil. Il vérifie la zone UserDefaults pour les consentements acceptés ou refusés, et filtre l'ID transmis en tant que paramètre, renvoyant « true » si le consentement a été accepté ou « false » dans le cas contraire.
Remarque : vérifiez toujours d'abord la présence de hasUserChoice() ! Dans les cas où aucun choix n'existe, la fonction peut renvoyer des valeurs inattendues.
Paramètres :
-
id: Chaîne – L'identifiant de l'objectif à vérifier
Retours : Bool – True si le consentement est donné, false sinon
Exemple :
let hasPurposeConsent = CMPManager.shared.hasPurposeConsent(id: "c53")
print("Has consent for purpose c53: (hasPurposeConsent)")
hasUserChoice()
Vérifie si l'utilisateur a fait un choix concernant les consentements et si ce consentement est enregistré sur l'appareil. Cela signifie que l'utilisateur a soit accepté tous les consentements, soit les a tous rejetés, soit a fait un choix mixte de consentements rejetés et acceptés, selon la conception du CMP, qui peut permettre aux utilisateurs d'accepter certains consentements et d'en rejeter d'autres. Ces informations ne seront à jour qu'une fois que le consentement aura été correctement enregistré dans la zone UserDefaults. Par conséquent, si vous effectuez cette vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Renvoie : Bool – true si l'utilisateur a fait un choix, false sinon
Exemple :
let hasChoice = CMPManager.shared.hasUserChoice()
print("User has made a choice: (hasChoice)")
hasVendorConsent()
Vérifie si le consentement a été donné pour un fournisseur spécifique et si ce consentement est stocké sur l'appareil, conformément aux configurations du CMP. Ces informations ne seront à jour qu'une fois que le consentement aura été correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez la vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Paramètres :
-
id: Chaîne – L'identifiant du fournisseur à vérifier
Retours : Bool – True si le consentement est donné, false sinon
Exemple :
let hasVendorConsent = CMPManager.shared.hasVendorConsent(id: "s2789")
print("Has consent for vendor s2789: (hasVendorConsent)")
getAllPurposesIDs()
Récupère tous les identifiants de finalité stockés sur l'appareil, conformément aux configurations du CMP. Ces informations ne seront à jour qu'une fois le consentement correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau contenant tous les identifiants d'objectif
Exemple :
let allPurposes = CMPManager.shared.getAllPurposesIDs()
print("All purposes: (allPurposes)")
getAllVendorsIDs()
Récupère tous les identifiants de fournisseurs stockés sur l'appareil, conformément aux configurations CMP. Ces informations ne seront à jour qu'une fois le consentement correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau contenant tous les identifiants de fournisseur
Exemple :
let allVendors = CMPManager.shared.getAllVendorsIDs()
print("All vendors: (allVendors)")
getDisabledPurposesIDs()
Récupère les identifiants de toutes les finalités désactivées stockées sur l'appareil, conformément aux configurations du CMP et aux choix de l'utilisateur. Si l'utilisateur accepte tous les consentements, ce champ sera vide. Ces informations ne seront à jour qu'une fois que le consentement aura été correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau d'identifiants d'objectifs désactivés
Exemple :
let disabledPurposes = CMPManager.shared.getDisabledPurposesIDs()
print("Disabled purposes: (disabledPurposes)")
getDisabledVendorsIDs()
Récupère les identifiants de tous les fournisseurs désactivés stockés sur l'appareil, conformément aux configurations du CMP. Si l'utilisateur accepte tous les consentements, ce champ sera vide. Ces informations ne seront à jour qu'une fois le consentement correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau d'identifiants de fournisseurs désactivés
Exemple :
let disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
print("Disabled vendors: (disabledVendors)")
getEnabledPurposesIDs()
Récupère les identifiants de toutes les finalités activées stockées sur l'appareil, conformément aux configurations du CMP. Si l'utilisateur refuse tous les consentements, ce champ sera vide. Ces informations ne seront à jour qu'une fois que le consentement aura été correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau d'identifiants d'objectifs activés
Exemple :
let enabledPurposes = CMPManager.shared.getEnabledPurposesIDs()
print("Enabled purposes: (enabledPurposes)")
getEnabledVendorsIDs()
Récupère les identifiants de tous les fournisseurs activés stockés sur l'appareil. Si l'utilisateur refuse tous les consentements, ce champ sera vide. Ces informations ne seront à jour qu'une fois le consentement correctement enregistré dans la zone UserDefaults ; par conséquent, si vous effectuez une vérification immédiatement après avoir utilisé des méthodes qui modifient le consentement, telles que openConsentLayer, acceptAll ou rejectAll, par exemple, attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, afin de vous assurer que les informations sont à jour.
Retourne : [Chaîne] – Un tableau d'identifiants de fournisseurs activés
Exemple :
let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: (enabledVendors)")