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
UrlConfig()
Définit la configuration de l'URL pour le gestionnaire de consentement. Doit être initialisé avec la valeur ci-dessous et transmis à la getInstance méthode.
Paramètres :
-
id: Chaîne – L'identifiant de code récupéré depuis votre tableau de bord CMP -
domain: Chaîne – Le domaine pour la gestion du consentement, également récupéré depuis votre tableau de bord CMP -
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, en plus des autres paramètres ci-dessus. -
noHash: booléen – Empêche l'URL générée et chargée par la vue Web d'utiliser un hachage (#) pour transmettre le consentement
Exemple :
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
setActivity()
Définit l'activité qui présentera la couche de consentement. Il doit s'agir d'une ComponentActivity.
Paramètres :
-
viewController: ComponentActivity – L'activité dans laquelle la couche de consentement sera présentée.
Retours : Aucun
Exemple :
CMPManager.shared.setPresentingViewController(self)
Paramètres de ConsentLayerUIConfig()
-
position: Stratégie de positionnement de la boîte de dialogue (par défaut :Position.FULL_SCREEN):-
Position.FULL_SCREEN– Couvre tout l'écran -
Position.HALF_SCREEN_TOP– Moitié supérieure de l'écran -
Position.HALF_SCREEN_BOTTOM– Moitié inférieure de l'écran -
Position.custom(width: Int, height: Int)– Dimensions personnalisées en pixels
-
-
backgroundStyle: Apparence de l'arrière-plan (par défaut : `BackgroundStyle.dimmed(Color.BLACK, 0.5f)) -
cornerRadius: Float – Rayon des coins en dp (par défaut :0f).- Remarque : nécessite la version 3.7.0 ou supérieure du SDK pour un découpage correct du contenu WebView
-
respectsSafeArea: Booléen – Indique s'il faut respecter les marges de l'interface utilisateur du système (par défaut :true).-
Remarque : sur Android 11 et versions ultérieures (API 30), le réglage sur
falsepermet à la boîte de dialogue de s'étendre sous les barres système
-
Remarque : sur Android 11 et versions ultérieures (API 30), le réglage sur
-
isCancelable: Booléen – Indique si la boîte de dialogue peut être fermée (par défaut :true) -
darkMode: Booléen – Activer le style du mode sombre (par défaut :false)
//Example - Custom Position
val displayMetrics = resources.displayMetrics
val customPosition = ConsentLayerUIConfig.Position.custom(
displayMetrics.widthPixels,
(displayMetrics.heightPixels * 0.8).toInt() // 80% screen height
)
val webViewConfig = ConsentLayerUIConfig(
position = customPosition,
cornerRadius = 20f,
respectsSafeArea = true
)
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. Cela effectuera un appel réseau vers nos serveurs via la WebView créée 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 WebView, déterminant s'il doit être affiché ou non, ce qui consommera une page vue dans le processus.
Paramètres : Aucun
Retour :
-
completion: (Booléen) -> Unité – Une fermeture appelée avec le résultat, soittruesi aucun consentement valide n'a été trouvé sur l'appareil,falsedans le cas contraire.
Exemple :
cmpManager.isConsentRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkAndOpen()
Vérifie auprès du serveur si un consentement est requis et ouvre la fenêtre 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 fin 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, avec le résultat, soittrueoufalse.
Retours : Aucun
Exemple :
cmpManager.checkAndOpen { result ->
result.onSuccess {
toastMessage = "Check and Open Consent Layer operation done successfully."
}.onFailure { error ->
toastMessage = "Check and Open Consent Layer operation failed with error: $error"
}
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 granulaire.
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 : Aucun
Exemple :
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 SharedPreferences de l'appareil et la renvoie. Généralement, ces informations sont transmises à la importCMPInfo méthode.
Retourne : Chaîne – Les informations de consentement exportées
Exemple :
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("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 : Map<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 :
val settings = cmpManager.getGoogleConsentModeStatus()
Log.d("CMPDemo", "Google Consent Mode Settings: $settings")
toastMessage = buildString {
append("Google Consent Settings:")
settings.forEach { (key, value) ->
append("n$key: $value")
}
}
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 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.
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 :
val purposeStatus = cmpManager.getStatusForPurpose("c53")
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"
}
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 passé en 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 :
val vendorStatus = cmpManager.getStatusForVendor("s2789")
var message = "Vendor s2789's status: "
switch vendorStatus {
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 WebView, 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 que le callback 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 :
-
completion: Une fonction de fermeture appelée lorsque l'opération est terminée, renvoyant un échec ou une réussite.
Retours : Aucun
Exemple :
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 WebView, 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 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 :
-
purposes: List<String> – Une liste d'identifiants d'objectif à accepter -
updatePurpose: Booléen – Indique s'il faut mettre à jour les finalités associées -
completion: Une fonction appelée lorsque l'opération est terminée, renvoyant soit un échec, soit une réussite
Retours : Aucun
Exemple :
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 la WebView, 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 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 :
-
vendors: List<String> – Une liste d'identifiants de fournisseurs à accepter -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Aucun
Exemple :
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importCMPInfo()
Importe les informations de consentement à partir d'une chaîne CMP. Cela recevra une chaîne de caractères contenant les données de consentement, généralement obtenues via la exportCMPInfo méthode. Ces informations sont conservées dans la zone SharedPreferences de l'appareil et, en même temps, sont envoyées à notre backend via un message injecté dans la WebView, 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, renvoyant soit un échec, soit une réussite
Retours : Aucun
Exemple :
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rejectAll()
Refuse le consentement pour toutes les finalités et tous les fournisseurs, ce qui consomme une page vue dans le processus. Il effectue un appel réseau vers notre backend via un message injecté dans le WebView, ce qui déclenche le rejet 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 callback 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 :
-
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Aucun
Exemple :
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 WebView, 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 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 :
-
purposes:List<String>– Une liste d'identifiants d'objectif à rejeter -
updateVendor:Boolean– Faut-il mettre à jour les fournisseurs concernés ? -
completion: Une fermeture appelée lorsque l'opération est terminée
Retours : Aucun
Exemple :
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 WebView, 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 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: List<String> – Une liste d'identifiants de fournisseurs à rejeter -
completion: Une fonction appelée lorsque l'opération est terminée, renvoyant soit un échec, soit une réussite
Retours : Aucun
Exemple :
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
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 WebView et le cache afin de forcer la nécessité d'un nouveau consentement.
Paramètres :
Aucun
Retours : Aucun
Exemple :
cmpManager.resetConsentManagementData()
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 ; vous devez donc initialiser le SDK tiers avec vos identifiants en suivant 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
setOnClickLinkCallback
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.
cmpManager.setOnClickLinkCallback { url ->
if (url.contains("google.com")) {
// Open Google URLs in external browser
try {
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
true // Return true to indicate we handled the URL
} catch (e: Exception) {
Log.e("DemoApp", "Error opening URL: $url", e)
false
}
} else {
// Let other URLs load in the WebView
false
}
}
didReceiveConsent(consent: String, jsonObject: Map<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 le SDK a vérifié la nécessité d'un consentement, mais que celui-ci n'était pas nécessaire et que la fenêtre contextuelle n'a pas été affichée. Cela signifie qu'il en existe déjà une valide sur l'appareil, qu'une nouvelle n'est donc pas nécessaire et que la fenêtre de consentement ne s'affichera pas.
didReceiveError
Ceci se déclenche lorsque le SDK rencontre une erreur, en renvoyant son code. En cas de mauvaise connexion réseau, un délai d'attente fixe d'environ 10 secondes est à prévoir.
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 la WebView créée 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 WebView, 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éen) -> Unité – Une fermeture appelée avec le résultat, soittrueoufalse.
Retours : Aucun
Exemple :
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
checkWithServerAndOpenIfNecessary()
Vérifie auprès du serveur si un consentement est requis et ouvre la fenêtre de consentement si nécessaire. Cela effectuera un appel réseau vers nos serveurs via la WebView créée dans 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 :
-
completion: Une fermeture appelée lorsque l'opération est terminée, avec le résultat, soittrueoufalse.
Retours : Aucun
Exemple :
cmpManager.checkWithServerAndOpenIfNecessary { result ->
result.onSuccess {
toastMessage = "Check and Open Consent Layer operation done successfully."
}.onFailure { error ->
toastMessage = "Check and Open Consent Layer operation failed with error: $error"
}
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 que le consentement aura été correctement enregistré dans la zone SharedPreferences ; 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 : List<String> – Une liste de tous les identifiants d'objectif
Exemple :
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("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 SharedPreferences ; 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 : List<String> – Une liste de tous les identifiants de fournisseurs
Exemple :
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("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, cette variable sera vide. Ces informations ne seront à jour qu'une fois que le consentement aura été correctement enregistré dans la zone SharedPreferences. 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 : List<String> – Une liste d'identifiants d'objectifs désactivés
Exemple :
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("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 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 SharedPreferences ; 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 : List<String> – Une liste d'identifiants de fournisseurs désactivés
Exemple :
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("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 SharedPreferences ; 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 : List<String> – Une liste d'identifiants de finalité activés
Exemple :
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("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 que le consentement aura été correctement enregistré dans la zone SharedPreferences ; 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 : List<String> – Une liste d'identifiants de fournisseurs activés
Exemple :
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: (enabledVendors)")
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 SharedPreferences 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
Retours : Boolean – True si le consentement est donné, false sinon
Exemple :
val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("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 rejeté tous les consentements, soit 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 SharedPreferences. 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.
Retours : Boolean – true si l'utilisateur a fait un choix, false sinon
Exemple :
val hasChoice = cmpManager.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 SharedPreferences ; 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 : Boolean – True si le consentement est donné, false sinon
Exemple :
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: (hasVendorConsent)")