[iOS] 3. Documentation API
SDK obsolète / Mise à niveau vers la version 3 : Cette documentation décrit la version 2.x de notre SDK. Le SDK 2.x est obsolète et sera supprimé d'ici la fin de l'année 2025. Veuillez effectuer une mise à niveau vers la version 3.x du SDK. Voir la section Aide sur SDK v3 ici.
accepter tout
Accepte la couche de consentement et se comporte de la même manière lorsque l'utilisateur accepte le consentement. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
onFinish |
fonction | Rappel pour la gestion de l'événement de consentement reçu. il sera appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour.
Exemple
func onFinish() {
print("Notification: New consent was received")
}
// Accept all consent with a callback
cmpConsentTool.acceptAll(onFinish)
choisissez
Vérifie si le consentement de l'utilisateur est requis, en renvoyant éventuellement des résultats mis en cache. Cette méthode consomme une page vue si isCached
le paramètre est VRAI et le consentement mis en cache est expiré, une page vue si isCached
le paramètre est FAUX et aucune page n'est vue si le consentement mis en cache n'a pas expiré. Le consentement mis en cache est expiré et purgé toutes les 24 heures.
Paramètres
Nom | Type | Description |
onCmpLayerOpen |
fonction | Rappel lorsque la couche de consentement doit être ouverte. |
isCached |
Boolean | Lorsque VRAI, la demande sera mise en cache et la réponse sera enregistrée |
Retour
Aucune valeur de retour.
Exemple
@objc func checkCmpLayer() {
print("Checking need for consent.")
cmpManager?.check(
{
// Callback for when the consent layer needs to be opened
print("Consent layer will open")
self.cmpConsentTool?.openView()
},
isCached: true
)
}
checkAndOpenConsentLayer
Vérifie si le consentement de l'utilisateur est requis et, si tel est le cas, ouvre l'interface utilisateur de la couche de consentement. Cette méthode consomme une page vue.
Paramètres
Aucun. |
Retour
Aucune valeur de retour.
Exemple
@objc func checkAndOpenConsentLayerAction() {
cmpManager?.checkAndOpenConsentLayer()
}
consentementDemandéAujourd'hui
Vérifie si la couche de consentement a été demandée aujourd'hui. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
VRAI si le consentement de l'utilisateur a déjà été demandé aujourd'hui.
FAUX sinon.
Exemple
@objc func consentRequestedTodayAction() {
if let calledToday = cmpManager?.consentRequestedToday() {
print("Consent requested today: \(calledToday)")
} else {
print("Failed to retrieve consent request status for today.")
}
}
désactiverPurposeList
Désactive une liste d'objectifs et met à jour le consentement donné. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
purposes |
tableau | Liste des identifiants d'objectif à désactiver. |
onFinish |
fonction (facultatif) | Rappel pour la gestion de l'événement de consentement reçu. il sera appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour.
Exemple
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.disablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.disablePurposeList(purposes)
désactiverVendorList
Désactive une liste de fournisseurs et met à jour le consentement donné. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
vendors |
tableau | Liste des identifiants de fournisseurs à désactiver. |
onFinish |
fonction (facultatif) | Rappel pour gérer l’événement de consentement reçu. Il sera appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour.
Exemple
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.disableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.disableVendorList(vendors)
activerListeObjectifs
Active une liste d'objectifs et met à jour le consentement donné. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
purposes |
tableau | Liste des identifiants d'objectif à activer. |
onFinish |
fonction (facultatif) | Rappel pour gérer l’événement de consentement reçu. Il sera appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour
Exemple
func onFinish() {
print("Notification: New consent received")
}
let purposes = ["1", "2"]
// Option with callback
cmpManager?.enablePurposeList(purposes, onFinish: onFinish)
// Option without callback
cmpManager?.enablePurposeList(purposes)
activerVendorList
Active une liste de fournisseurs et met à jour le consentement donné. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
vendors |
tableau | Liste des ID de fournisseur à activer. |
onFinish |
fonction (facultatif) | Rappel pour gérer l’événement de consentement reçu. Je serai appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour.
Exemple
func onFinish() {
print("Notification: New consent received")
}
let vendors = ["1", "2"]
// Option with callback
cmpManager?.enableVendorList(vendors, onFinish: onFinish)
// Option without callback
cmpManager?.enableVendorList(vendors)
exportCmpString
Exporte la chaîne CMP actuelle représentant les préférences de consentement de l'utilisateur. Cette méthode est accessible de manière statique. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
La chaîne de consentement.
Exemple
@objc func exportConsentStringAction() {
let exportString = cmpManager.exportCmpString()
print(exportString ?? "No string to export.");
}
getAllPurposes
Renvoie tous les identifiants des objectifs. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant tous les ID utiles.
Exemple
@objc func getAllPurposesAction() {
if let allPurposes = cmpManager?.getAllPurposes() {
print("All purposes: \(allPurposes)")
// Additional actions for getAllPurposes function can be added here
} else {
print("Failed to retrieve all purposes.")
}
}
getAllPurposeList
Renvoie une liste de tous les identifiants d'utilisation pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une liste contenant des identifiants tous usages.
Exemple
@objc func getAllPurposeListAction() {
// Action for getAllPurposeList function
if let allPurposes = cmpManager?.getAllPurposesList() {
print("All purposes list: \(allPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve all purposes list.")
}
}
getAllVendors
Renvoie tous les identifiants des fournisseurs pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant tous les ID de fournisseurs.
Exemple
@objc func getAllVendorsAction() {
if let allPurposes = cmpManager?.getAllVendors() {
print("Printing all Vendors: \(allPurposes)")
} else {
print("Failed to retrieve all vendors.")
}
}
getAllVendorsList
Renvoie une liste de tous les identifiants de fournisseurs pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une liste contenant tous les identifiants des fournisseurs.
Exemple
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getConsentString
Renvoie une chaîne contenant le dernier consentement donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne avec le dernier consentement reconnu par l'utilisateur.
Exemple
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getDisabledPurposes
Renvoie tous les identifiants des objectifs désactivés pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant les ID de tous les objectifs désactivés.
Exemple
@objc func getDisabledPurposesAction() {
if let disabledPurposes = cmpManager?.getDisabledPurposes() {
print("Disabled purposes: \(disabledPurposes)")
} else {
print("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Renvoie tous les identifiants des fournisseurs désactivés pour une CMP donnée. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant tous les ID de fournisseurs désactivés.
Exemple
@objc func getDisabledVendorsAction() {
if let disabledVendors = cmpManager?.getDisabledVendors() {
print("Disabled vendors: \(disabledVendors)")
} else {
print("Failed to retrieve disabled vendors.")
}
}
getEnabledPurposes
Renvoie tous les identifiants des fournisseurs activés pour une CMP donnée. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant tous les ID de fournisseurs activés.
Exemple
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledPurposeList
Renvoie une liste de tous les identifiants des objectifs activés pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une liste contenant les identifiants de tous les objectifs activés.
Exemple
@objc func getEnabledPurposesAction() {
if let enabledPurposes = cmpManager?.getEnabledPurposes() {
print("Enabled purposes: \(enabledPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled purposes list.")
}
}
getEnabledVendorsgetEnabledVendors
Renvoie tous les identifiants des fournisseurs activés pour une CMP donnée. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne séparée par des virgules contenant tous les ID de fournisseurs activés.
Exemple
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledVendorListgetEnabledVendorList
Renvoie une liste avec tous les identifiants des fournisseurs activés pour un CMP donné. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une liste contenant tous les identifiants des fournisseurs activés.
Exemple
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getGoogleACString
Récupère la chaîne d'ID de consentement supplémentaire de Google (`addtlConsent`) définie par le consent manager.
Pour plus d'informations, consultez le Spécifications techniques du consentement supplémentaire de Google.
Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une liste contenant tous les identifiants des fournisseurs activés.
Exemple
@objc func getGoogleConsentStringAction() {
if let googleACString = cmpManager?.getGoogleACString() {
print("Google Additional Consent String: \(googleACString)")
} else {
print("Failed to retrieve Google Additional Consent String.")
}
}
getUSPrivacyString
Récupère la chaîne de confidentialité américaine. Cette chaîne de confidentialité américaine est un cookie qui stocke des informations sur les divulgations effectuées et les choix sélectionnés par le visiteur du site Web concernant ses droits de consommateur. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne avec les données de confidentialité américaines définies par consentmanager.
Exemple
@objc func getUSPrivacyStringAction() {
if let theUSPrivacyString = cmpManager?.getUSPrivacyString() {
print("US Privacy string contents: \(theUSPrivacyString)")
} else {
print("Failed to retrieve US Privacy string.")
}
}
a le consentement
Vérifie si l'utilisateur a déjà donné son consentement. La couche de consentement peut avoir l'option de simplement fermer la couche. Dans ce cas, l'utilisateur n'a pas donné son consentement. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Une chaîne avec les données de confidentialité américaines définies par consentmanager.
Exemple
@objc func getHasConsentAction() {
if let hasConsent = cmpManager?.hasConsent() {
let consentStatus = hasConsent ? "Yes" : "No"
print("Consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user consent.")
}
}
hasPurpose (à partir de la version 2.5.3)
hasPurposeConsent (obsolète)
Vérifie si l'ID d'objectif est activé en fonction du consentement de l'utilisateur. Cette méthode ne consomme aucune page vue.
Paramètres
Nom | Type | Description |
purposeId |
Chaîne | ID d'objectif |
defaultReturn |
Boolean | Valeur renvoyée par défaut par la méthode, au cas où il n'y aurait pas encore de consentement. Voir l'avertissement ci-dessous. |
Retour
VRAI si l'utilisateur a donné son consentement à l'objectif spécifié.
FAUX sinon.
Veuillez noter que si, pour une raison quelconque liée à une connexion Internet médiocre ou inexistante sur l'appareil ou en cas d'absence de consentement, la valeur qui a été définie via le defaultReturn
le paramètre sera renvoyé.
l' defaultReturn
paramètre n'existe pas dans les versions antérieures à 2.5.3.
Exemple
@objc func getHasPurposeConsentAction() {
if let hasPurposeConsent = cmpManager?.hasPurpose("purposeID", false) {
let consentStatus = hasPurposeConsent ? "Yes" : "No"
print("Purpose has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user purpose consent.")
}
}
hasVendor (à partir de la version 2.5.3)
hasVendorConsent (obsolète)
Vérifie si l'ID du fournisseur est activé en fonction du consentement de l'utilisateur. Cette méthode ne consomme aucune page vue.
Paramètres
Nom | Type | Description |
vendorId |
Chaîne | fournisseur ID |
defaultReturn |
Boolean | Valeur renvoyée par défaut par la méthode, au cas où il n'y aurait pas encore de consentement. Voir l'avertissement ci-dessous. |
Retour
VRAI si l'utilisateur a donné son consentement au fournisseur spécifié.
FAUX sinon.
Veuillez noter que si, pour une raison quelconque liée à une connexion Internet médiocre ou inexistante sur l'appareil ou en cas d'absence de consentement, la valeur qui a été définie via le defaultReturn
le paramètre sera renvoyé.
l' defaultReturn
paramètre n'existe pas dans les versions antérieures à 2.5.3.
Exemple
@objc func getHasVendorConsentAction() {
if let hasVendorConsent = cmpManager?.hasVendor("vendorID") {
let consentStatus = hasVendorConsent ? "Yes" : "No"
print("Vendor has consent provided by the user? \(consentStatus)")
} else {
print("Failed to retrieve user vendor consent.")
}
}
importCmpString
Importe une chaîne CMP représentant les préférences de consentement de l'utilisateur. La chaîne doit être informée TELLE QUELLE lorsqu'elle est récupérée via la méthode exportCmpString(). Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
chaîne de consentement | Chaîne | Chaîne représentant le consentement |
gestionnaire d'achèvement | fonction (facultatif) | Gestionnaire d’achèvement de rappel vers la méthode. |
Retour
Aucun.
Exemple
let cmpString = "YourConsentStringHere"
// Define the completion handler
let completionHandler: CmpImportCompletionHandler = { error in
if let error = error {
print("Failed to import CMP string: \(error.localizedDescription)")
} else {
print("CMP string imported successfully")
}
}
cmpManager.importCmpString(cmpString, completion: completionHandler)
initialiser
La fonction Initialize initialise la couche de consentement et vérifie automatiquement si l'utilisateur a besoin d'un consentement ou non. Cette fonction ouvrira éventuellement la couche de consentement et interagira avec l'API Apple Tracking Transparency pour demander le consentement de l'utilisateur. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
cmpConfig |
CmpConfig | L'objet CmpConfig est transmis avec les informations concernant l'appId, le domaine, l'appName et la langue (facultatif) |
Retour
L'objet CMPManager.
Exemple
// Example of a default implementation of the SDK.
class ViewController: UIViewController {
// Usual implementation of a View Controller
var cmpManager: CMPConsentTool? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Configure your CMP
let cmpConfig: CmpConfig = CmpConfig.shared.setup(
withId: "<YOUR-CONSENTMANAGER-APP-ID>, example: a000aaaa0a",
domain: "<YOUR-CONSENTMANAGER-APP-DOMAIN>, example: delivery.consentmanager.net",
appName: "<YOUR-CONSENTMANAGER-APP-NAME>, example: testApp",
language: "<YOUR-CONSENTMANAGER-APP-LANGUAGE, example: DE");
// You can also determine log levels or ask for Apple's App Tracking Transparency, for example
cmpConfig.logLevel = CmpLogLevel.verbose;
cmpConfig.isAutomaticATTRequest = true;
// Then you pass the cmpConfig to set up and initialize the instance of our SDK
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withErrorListener(onCMPError)
.withCloseListener(onClose)
.withOpenListener(onOpen)
.withOnCMPNotOpenedListener(onCMPNotOpened)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
.initialize() // This method will trigger the webview loading to collect consent, if necessary
}
}
isConsentRequired
Vérifie si le consentement doit être fourni par l'utilisateur actuel de l'application. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
TRUE si l'utilisateur doit donner son consentement.
FAUX sinon.
Exemple
@objc func checkIfConsentIsRequired() {
if let isConsentRequired = cmpConsentTool?.isConsentRequired() {
let consentRequiredStatus = isConsentRequired ? "Yes" : "No"
print("Is user consent required? \(consentRequiredStatus)")
} else {
print("Failed to determine if user consent is required.")
}
}
ouvrirView
Ouvre de force la vue Web de la couche de consentement CMP. Cette méthode consomme une page vue.
Paramètres
Aucun. |
Retour
Aucune valeur de retour.
Exemple
self.cmpConsentTool?.openView()
rejeter tout
Rejette la couche de consentement et se comporte de la même manière lorsque l'utilisateur n'a pas accepté le consentement. Cette méthode consomme une page vue.
Paramètres
Nom | Type | Description |
onFinish |
fonction | Facultatif. Rappel pour gérer l’événement de consentement reçu. il sera appelé lorsque le consentement sera reçu et traité. |
Retour
Aucune valeur de retour
Exemple
func onFinish() {
print("Notification: New consent has been received with a Reject All response.")
}
// Reject all consent with a callback
cmpManager.rejectAll(onFinish)
réinitialiser
Réinitialise toutes les propriétés aux valeurs par défaut. Cette méthode ne consomme aucune page vue.
Paramètres
Aucun. |
Retour
Aucune valeur de retour.
Exemple
CMPManager.reset()
avecCloseListener
Ajoute un écouteur proche pour recevoir des notifications lorsque la couche de consentement est fermée.
Paramètres
Nom | Type | Description |
closeListener |
fonction | Callback qui sera appelé lorsque la couche de consentement sera fermée. |
Retour
CMPConsentTool
Exemple
func onClose() {
print("APP: CLOSED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and close listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onClose)
avecOpenListener
Ajoute un écouteur ouvert pour recevoir des notifications lorsque la couche de consentement est ouverte.
Paramètres
Nom | Type | Description |
openListener |
fonction | Callback qui sera appelé lors de l'ouverture de la couche de consentement |
Retour
CMPConsentTool
Exemple
func onOpen() {
print("APP: OPENED")
// Add custom business logic here
}
// Initialize cmpManager with configuration and open listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withCloseListener(onOpen)
avecErrorListener
Ajoute un écouteur d'erreur pour recevoir des notifications lorsqu'une erreur se produit.
Paramètres
Nom | Type | Description |
errorListener |
fonction | Rappel pour ajouter une action si une erreur s'est produite. |
Retour
CMPConsentTool
Exemple
func onCMPError(type: CmpErrorType, message: String?) {
if let errorMessage = message {
print(errorMessage)
} else {
print("An error occurred.")
}
switch type {
case .networkError:
print("Network error")
case .timeoutError:
print("Timeout error")
case .consentDataReadWriteError:
print("Consent data read/write error")
case .unknownError:
print("Unknown error")
@unknown default:
print("Unexpected error")
}
}
// Initialize cmpManager with configuration and error listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withErrorListener(onCMPError)
withOnCMPNotOpenedListener
Ajoute un rappel Cmp non ouvert pour recevoir une notification lorsque la couche de consentement ne s'ouvre pas. La raison la plus courante est que l’utilisateur a déjà donné son consentement.
Paramètres
Nom | Type | Description |
openListener |
fonction | Rappel qui sera appelé lorsque la couche de consentement n'est pas ouverte. |
Retour
CMPConsentTool
Exemple
func onCMPNotOpened() {
print("CMP: NOT OPENED")
// Add custom business logic here
}
// Initialize cmpConsentTool with configuration and CMP not opened listener
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCMPNotOpenedListener(onCMPNotOpened)
withOnCmpButtonClickedCallback
Définit un rappel pour recevoir des notifications lorsque l'utilisateur clique sur un bouton pour fermer la couche de consentement.
Paramètres
Nom | Type | Description |
openListener |
fonction | Rappel qui sera invoqué avec le CmpButtonEvent indiquant quel bouton a été enfoncé. |
Retour
CMPConsentTool
Exemple
func onButtonClickedEvent(event: CmpButtonEvent) {
switch event {
case .acceptAll:
print("User accepted all.")
case .rejectAll:
print("User rejected all.")
case .save:
print("User saved custom settings.")
case .close:
print("User closed consent layer without giving consent.")
@unknown default:
print("Unknown button event.")
}
}
// Initialize cmpManager with configuration and button click callback
cmpManager = CMPConsentTool(cmpConfig: cmpConfig, viewController: self)
.withOnCmpButtonClickedCallback(onButtonClickedEvent)
avecCmpViewControllerConfigurationBlock
Personnalisez le couche de consentement UIViewController.
Paramètres
Nom | Type | Description |
|
CmpViewControllerConfigurationBlock |
Personnaliser le couche de consentement
UIViewController. |
Retour
CMPConsentTool
Exemple
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewControllerConfigurationBlock { viewController in
viewController?.modalPresentationStyle = .formSheet
}
avecCmpViewConfigurationBlock
Personnalisez l'UiView du consentlayer.
Paramètres
Nom | Type | Description |
|
CmpUIViewConfigurationBlock |
Personnaliser le couche de consentement
UiView |
Retour
CMPConsentTool
Exemple
let cmpLayout = CmpLayout.default()
cmpLayout?.cornerRadius = 10.0
cmpLayout?.customLayout = CGRect(x: 0, y: 0, width: 200, height: 300)
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewConfigurationBlock { uiView in
cmpLayout?.apply(to: uiView)
}
avecMise à jourConsentement Google
Récupère l’état du mode consentement de Google.
Paramètres
Nom | Type | Description |
|
[Chaîne: Chaîne]? |
Statut de consentement |
Retour
CMPConsentTool
Exemple
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
func onCmpUpdateGoogleConsent(consentMap: [String: String]?) {
guard let consentMap = consentMap else { return }
var firebaseConsentMap: [ConsentType: ConsentStatus] = [:]
consentMap.forEach { key, value in
if let consentType = convertToFirebaseConsentType(from: key),
let consentStatus = convertToFirebaseConsentStatus(from: value) {
firebaseConsentMap[consentType] = consentStatus
}
}
Analytics.setConsent(firebaseConsentMap)
}
func convertToFirebaseConsentType(from key: String) -> ConsentType? {
switch key {
case "analytics_storage":
return .analyticsStorage
case "ad_storage":
return .adStorage
case "ad_user_data":
return .adUserData
case "ad_personalization":
return .adPersonalization
default:
return nil
}
}
func convertToFirebaseConsentStatus(from value: String) -> ConsentStatus? {
switch value {
case "granted":
return .granted
case "denied":
return .denied
default:
return nil
}
}