[iOS] 2. Documentation API
CMPManager La classe fournit des méthodes pour gérer le consentement de l'utilisateur pour le traitement et le suivi des données. Cette documentation couvre les principales méthodes disponibles pour l'intégration d'applications mobiles.
Tous les exemples mentionnés ci-dessous ont été extraits et peuvent être trouvés sur notre Application de démonstration.
S'il vous plaît, vérifiez le méthodes obsolètes au cas où vous intégrez déjà la v3 de notre SDK CMP.
Initialisation
setUrlConfig()
Définit la configuration de l'URL pour le Consent Manager.
Paramètres:
-
config: UnUrlConfigobjet contenant les propriétés suivantes :-
id: String - L'ID de code récupéré à partir de votre tableau de bord CMP -
domain: String - Le domaine de gestion du consentement, également récupéré à partir du tableau de bord -
language: Chaîne - Le code de langue (par exemple, « EN », « IT », « DE », etc.) -
appName: String - 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 à moins que cela ne soit clairement indiqué sur votre tableau de bord CMP avec les autres paramètres ci-dessus. -
noHash: booléen - Empêche l'utilisation d'un hachage (#) dans l'URL générée et chargée par la vue Web pour transmettre le consentement
-
Retours: vide
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 WKWebiew affichant la couche de consentement apparaîtra, comme en plein écran, sur la moitié inférieure de l'écran ou sur sa moitié supérieure. De plus, le style d'arrière-plan peut être appliqué, ainsi que le rayon des coins, s'il respectera la zone de sécurité de l'appareil, ainsi que s'il répondra ou non aux changements d'orientation, au cas où votre mobile ne fonctionnerait que dans une seule orientation, ce qui se produit généralement avec les jeux qui n'utilisent que la configuration horizontale de l'écran de l'appareil.
Paramètres:
-
config: UnConsentLayerUIConfigobjet avec les propriétés suivantes :-
position: Position - La position de la vue Web (par exemple, .fullScreen) -
backgroundStyle: BackgroundStyle - Le style d'arrière-plan (par exemple, .dimmed) -
cornerRadius: CGFloat - Le rayon d'angle de la WebView -
respectsSafeArea: Bool - S'il faut respecter la zone de sécurité -
allowsOrientationChanges: Bool - S'il faut autoriser les changements d'orientation
-
Retours: vide
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, vous passez self en tant que contrôleur de vue actuel.
Paramètres:
-
viewController: UIViewController - Le contrôleur de vue pour présenter la couche de consentement
Retours: vide
Exemple :
CMPManager.shared.setPresentingViewController(self)
définirATTStatus()
Définit le statut ATT récupéré de ATTManager.AuthorizationStatus, donc le bon couche de consentement ciblée peut être affiché.
Paramètres:
-
_: la valeur brute de AuthorizationStatus
Retours: vide
Exemple :
cmpManager.setATTStatus(2) // 0 = NotDetermined, 1 = Restricted, 2 = Denied, and 3 = Authorized
// retrieved from ATTManager.AuthorizationStatus
Gestion de la couche de consentement
getUserStatus()
Renvoie un aperçu détaillé de l'état de consentement et des préférences actuels de l'utilisateur. Cette méthode fournit des informations complètes sur les choix de consentement de l'utilisateur, notamment son état de consentement global, les autorisations individuelles des fournisseurs, les consentements spécifiques à un objectif 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)\n\n"
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)
estConsentementRequis()
Vérifie si le consentement de l'utilisateur est requis sans afficher automatiquement la page de consentement si nécessaire. Cela effectue un appel réseau vers nos serveurs via le WKWebView créé dans notre SDK, qui envoie un message à notre serveur via JavaScript. Notre serveur détecte alors si l'appareil dispose d'un consentement valide et renvoie une réponse. false si le consentement trouvé dans l'appareil est valide ou true si un nouveau consentement doit être recueilli auprès de l'utilisateur, consommer une page vue suite à la cure.
Paramètres: Aucun
Retour:
-
completion: (Bool) -> Void - Une fermeture appelée avec le résultat, soittruesi aucun consentement valide n'a été trouvé oufalseautrement.
Exemple :
CMPManager.shared.isConsentRequired { required in
print("Consent is required: \(required)")
}
vérifierEtOuvrir()
Vérifie auprès du serveur si le 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éé dans notre SDK, consommer une page vue dans le processus. Cet appel réseau enverra un message à notre backend via JavaScript, qui détectera si l'appareil a un consentement valide ou non, ce qui déterminera à son tour si la couche de consentement doit être affichée ou non.
Paramètres:
-
jumpToSettings:Une valeur booléenne pour déterminer si la couche de consentement affichée mènera automatiquement à la page où 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 l'écran initial par défaut avec les boutons (lorsqu'il est réglé surfalseou supprimé). -
completion:Une fermeture appelée lorsque l'opération est terminée.
Retours: vide
Exemple :
CMPManager.shared.checkAndOpen { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Check completed successfully")
}
}
forceOpen()
Ouvre la couche de consentement. Il effectue un appel réseau vers notre backend, consommer une page vue dans le processus. Il affichera la couche de consentement permettant à l'utilisateur d'accepter tous les choix ou de les rejeter tous, ou, selon le paramètre jumpToSettings, de lui permettre de contrôler les consentements de manière plus granulaire.
Paramètres:
-
jumpToSettings:Une valeur booléenne pour déterminer si la couche de consentement affichée mènera automatiquement à la page où 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 l'écran initial par défaut avec les boutons (lorsqu'il est réglé surfalseou supprimé). -
completion:Une fermeture appelée lorsque l'opération est terminée, renvoyant soit un succès, soit une erreur.
Retours: vide
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. Cette méthode récupère la chaîne de consentement de la zone UserDefaults de l'appareil et la renvoie. Généralement, ces informations sont transmises à importCMPInfo méthode.
Retours: Chaîne - Les informations de consentement exportées
Exemple :
let cmpInfo = CMPManager.shared.exportCMPInfo()
print("Exported CMP info: \(cmpInfo)")
obtenir le statut du mode de consentement de Google()
S'intègre parfaitement au mode Consentement, une technologie Google qui permet la modélisation des conversions et des analyses, permettre aux services de Google de combler les lacunes de données lorsque les utilisateurs ne donnent pas leur consentement. Cette fonction traduit le consentement de l'utilisateur de votre CMP dans un format que Firebase Analytics peut comprendre, vous pouvez donc simplement obtenir le retour de cette méthode et le transmettre à la méthode Firebase .setConsent.
- Il met ensuite à jour Google Analytics avec le statut de consentement actuel de l'utilisateur.
Paramètres:
- Aucun
Retours: [String: String] - Un tableau de valeurs clés avec les quatre clés du mode de consentement de Google : .analyticsStorage, .adStorage, .adUserData et .adPersonalization, et leurs valeurs respectives en termes de .choiceDoesntExist, .granted or .denied.
Exemple :
showToast(message: "Google Consent Mode Status: \n \(CMPManager.shared.getGoogleConsentModeStatus())")
obtenir le statut pour un objectif()
Vérifie si le consentement a été donné pour une finalité 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 passé en paramètre, renvoyant true si le consentement a été accepté ou false dans le cas contraire.
Paramètres:
-
id: String - L'ID de l'objectif à vérifier
Retours: UniqueConsentStatus - Une énumération avec les valeurs .choiceDoesntExist si aucun consentement n’a été donné, .granted or .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"
}
obtenir le statut du fournisseur()
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 passé en paramètre, renvoyant true si le consentement a été accepté ou false dans le cas contraire.
Paramètres:
-
id: String - L'ID de l'objectif à vérifier
Retours: UniqueConsentStatus - Une énumération avec les valeurs .choiceDoesntExist si aucun consentement n’a été donné, .granted or .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"
}
Modification du consentement
accepter tout()
Accepte le consentement à toutes fins et fournisseurs, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, ce qui déclenchera l'acceptation de tous les consentements, selon la configuration 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'il a été traité avec succès par notre backend et conservé sur l'appareil.
Paramètres:
-
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
CMPManager.shared.acceptAll { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("All consents accepted successfully")
}
}
accepterObjectifs()
Accepte le consentement à des fins déterminées, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, qui déclenchera l'acceptation des finalités déterminées passées en paramètre, selon la configuration 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'il a été traité avec succès par notre backend et conservé sur l'appareil.
Paramètres:
-
purposes: [Chaîne] - Un tableau d'identifiants d'objectif à accepter -
updatePurpose: Bool - S'il faut mettre à jour les objectifs associés -
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
CMPManager.shared.acceptPurposes(["c52", "c53"], updatePurpose: true) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Purposes accepted successfully")
}
}
accepter les fournisseurs()
Accepte le consentement des fournisseurs spécifiés, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, qui déclenchera l'acceptation des fournisseurs déterminés passés en paramètre, selon la configuration 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'il a été traité avec succès par notre backend et conservé 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: vide
Exemple :
CMPManager.shared.acceptVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Vendors accepted successfully")
}
}
importerCMPInfo()
Importe les informations de consentement à partir d'une chaîne CMP. Cela recevra une chaîne contenant les données de consentement, généralement obtenues via exportCMPInfo méthode. Ces informations sont conservées dans la zone UserDefaults de l'appareil et sont en même temps envoyées à notre backend via un message injecté dans le WKWebView, consommant une page vue dans le processus.
Paramètres:
-
cmpString: String - La chaîne CMP à importer -
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
let cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
CMPManager.shared.importCMPInfo(cmpString) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("CMP info imported successfully")
}
}
rejeterTout()
Rejette le consentement à toutes fins et fournisseurs, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, ce qui déclenchera le rejet de tous les consentements, selon la configuration 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'il a été traité avec succès par notre backend et conservé sur l'appareil.
Paramètres:
-
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
CMPManager.shared.rejectAll { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("All consents rejected successfully")
}
}
rejeterObjectifs()
Rejette le consentement à des fins spécifiques, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, ce qui déclenchera le rejet des finalités déterminées passées en paramètre, selon la configuration CMP. Ces informations ne seront disponibles pour les autres méthodes qu'après que le callback aura renvoyé un succès ou un échec, ce qui signifie qu'il a été traité avec succès par notre backend et conservé sur l'appareil.
Paramètres:
-
purposes: [Chaîne] - Un tableau d'identifiants d'objectifs à rejeter -
updateVendor: Bool - S'il faut mettre à jour les fournisseurs associés -
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
CMPManager.shared.rejectPurposes(["c52", "c53"], updateVendor: true) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Purposes rejected successfully")
}
}
rejeter les vendeurs()
Rejette le consentement pour les fournisseurs spécifiés, consommer une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté sur le WKWebView, ce qui déclenchera le rejet des fournisseurs déterminés passés en paramètre, selon la configuration 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'il a été traité avec succès par notre backend et conservé 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: vide
Exemple :
CMPManager.shared.rejectVendors(["s2790", "s2791"]) { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Vendors rejected successfully")
}
}
réinitialiserConsentManagementData()
Réinitialise toutes les données de gestion du consentement. Cela efface complètement toutes les entrées de la zone UserDefaults liées aux consentements acceptés ou rejetés par l'utilisateur. Cela revient à supprimer complètement l'application de l'appareil.
Paramètres:
-
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
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 aux SDK tiers
mettre à jour le consentement d'un tiers
Cette méthode gère la transmission automatique des données de consentement aux SDK tiers tels qu'AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge et Tenjin. Elle fonctionne par introspection/réflexion. Initialisez donc le SDK tiers avec vos identifiants en suivant la stratégie habituelle recommandée par le fournisseur. Notre SDK CMP détectera alors l'instance du SDK 3P et appellera les méthodes nécessaires en arrière-plan.
Événements CMPManagerDelegate
obtenirOnClickLinkCallback
Le SDK fournit un mécanisme de gestion des liens flexible 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 vue Web, mais les applications peuvent intercepter des URL spécifiques pour les gérer 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(consentement : String, jsonObject : [String : Any])
Cela se déclenche lorsque la couche de consentement a été fermée après que l'utilisateur a mis à jour ses consentements OU lors de l'appel de méthodes qui provoquent des modifications dans les consentements, comme acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Cela signifie que l'utilisateur a accepté ou rejeté certains des consentements, et que ceux-ci ont été correctement enregistrés dans l'appareil.
didShowConsentLayer
Cela se déclenche lorsque la couche de consentement a été effectivement affichée. Cela signifie qu'aucun consentement n'était valide sur l'appareil, il faut donc en collecter un nouveau.
a fermé la couche de consentement
Cela se déclenche lorsque :
1. Le SDK a vérifié la nécessité d'un consentement, mais celui-ci n'était pas nécessaire et la couche de consentement n'était pas affichée. Cela signifie qu'un consentement valide existe déjà dans l'appareil ; un nouveau consentement n'est donc pas nécessaire et la couche de consentement ne sera pas affichée.
2. L'utilisateur a interagi avec la couche de consentement et a donné son consentement, en rejetant la couche de consentement.
Erreur de réception
Cela se déclenche lorsque le SDK rencontre une erreur et renvoie son code.
Méthodes déconseillées
Toutes les méthodes ci-dessous sont obsolètes et sera complètement supprimé à partir du SDK de Juillet / 2025 sur.
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 a un consentement valide ou non, et le message sera renvoyé au WKWebView, déterminant s'il doit être affiché ou non, consommer une page vue dans le processus. En fonction du message renvoyé, le SDK l'interprétera et renverra ses résultats via le gestionnaire d'achèvement.
Paramètres:
-
completion: (Bool) -> Void - Une fermeture appelée avec le résultat, soittrueorfalse.
Retours: Voix
Exemple :
CMPManager.shared.checkIfConsentIsRequired { required in
print("Consent is required: \(required)")
}
jumpToSettings()
Ouvre la couche de consentement et accède directement à la page des paramètres. Cela effectuera un appel réseau vers nos serveurs, consommer une page vue dans le processus, en invoquant l'affichage de WKWebView, mais en affichant la page Paramètres au lieu de la page initiale de la couche de consentement, qui donne aux utilisateurs le choix d'accepter ou de rejeter tous les consentements. Cela mènera plutôt à la page où un contrôle plus précis sur les consentements est donné aux utilisateurs, leur permettant d'affiner leurs choix.
Paramètres:
-
completion:Une fermeture appelée lorsque l'opération est terminée
Retours: vide
Exemple :
CMPManager.shared.jumpToSettings { error in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
print("Jumped to settings successfully")
}
}
a pour but le consentement ()
Vérifie si le consentement a été donné pour une finalité 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 passé en paramètre, renvoyant true si le consentement a été accepté ou false dans le cas contraire.
Note: Vérifiez toujours d'abord hasUserChoice() ! Dans les cas où aucun choix n'existe, la fonction peut renvoyer des valeurs de retour inattendues.
Paramètres:
-
id: String - L'ID de l'objectif à vérifier
Retours: Bool - True si le consentement est donné, false autrement
Exemple :
let hasPurposeConsent = CMPManager.shared.hasPurposeConsent(id: "c53")
print("Has consent for purpose c53: \(hasPurposeConsent)")
aUserChoice()
Vérifie si l'utilisateur a fait un choix concernant les consentements et si ce consentement est stocké sur l'appareil. Cela signifie que l'utilisateur a accepté tous les consentements, les a tous rejetés ou a fait un choix mixte de consentements rejetés et acceptés, en fonction de la conception de la CMP, ce qui peut permettre aux utilisateurs d'autoriser certains consentements et d'en rejeter d'autres. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: Bool - true si l'utilisateur a fait un choix, false autrement
Exemple :
let hasChoice = CMPManager.shared.hasUserChoice()
print("User has made a choice: \(hasChoice)")
a un consentement du vendeur ()
Vérifie si le consentement a été donné pour un fournisseur spécifique et ce consentement est stocké sur l'appareil, selon les configurations CMP. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Paramètres:
-
id: String - L'ID du fournisseur à vérifier
Retours: Bool - True si le consentement est donné, false autrement
Exemple :
let hasVendorConsent = CMPManager.shared.hasVendorConsent(id: "s2789")
print("Has consent for vendor s2789: \(hasVendorConsent)")
getAllPurposesIDs()
Récupère tous les identifiants d'objectif stockés sur l'appareil, selon les configurations CMP. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [Chaîne] - Un tableau d'identifiants à usage général
Exemple :
let allPurposes = CMPManager.shared.getAllPurposesIDs()
print("All purposes: \(allPurposes)")
getAllVendorsIDs()
Récupère tous les identifiants de fournisseurs stockés sur l'appareil, selon les configurations CMP. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [Chaîne] - Un tableau de tous les identifiants de fournisseurs
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, en fonction des configurations CMP et des choix de l'utilisateur. Si l'utilisateur accepte tous les consentements, ce champ sera vide. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [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, selon les configurations CMP. Si l'utilisateur accepte tous les consentements, ce champ sera vide. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [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 tous les objectifs activés stockés sur l'appareil, selon les configurations CMP. Si l'utilisateur rejette tous les consentements, ce champ sera vide. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [Chaîne] - Un tableau d'ID d'objectif 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 rejette tous les consentements, ce champ sera vide. Ces informations ne seront mises à jour qu'une fois le consentement correctement conservé dans la zone UserDefaults, donc si vous vérifiez juste après avoir utilisé des méthodes qui déclenchent des modifications dans le consentement comme openConsentLayer, acceptAll or rejectAll, par exemple, alors attendez que le rappel de ces méthodes soit déclenché avant d'accéder à la méthode hasUserChoice, pour s'assurer que les informations sont à jour.
Retours: [Chaîne] - Un tableau d'identifiants de fournisseurs activés
Exemple :
let enabledVendors = CMPManager.shared.getEnabledVendorsIDs()
print("Enabled vendors: \(enabledVendors)")







