[iOS] 3. Documentación de la API
aceptar todo
Acepta la capa de consentimiento y se comporta de la misma manera cuando el usuario acepta el consentimiento. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
onFinish |
función | Devolución de llamada para gestionar el evento de consentimiento recibido. se llamará cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
func onFinish() {
print("Notification: New consent was received")
}
// Accept all consent with a callback
cmpConsentTool.acceptAll(onFinish)
check
Comprueba si se requiere el consentimiento del usuario y, opcionalmente, devuelve resultados almacenados en caché. Este método consume una página vista si isCached
El parámetro es VERDADERO y el consentimiento almacenado en caché ha expirado, una vista de página si isCached
El parámetro es FALSO y no se muestran páginas vistas si el consentimiento almacenado en caché no ha expirado. El consentimiento almacenado en caché expira y se elimina cada 24 horas.
parámetros
Nombre | Tipo | Descripción |
onCmpLayerOpen |
función | Devolución de llamada cuando la capa de consentimiento necesita estar abierta. |
isCached |
Boolean | Cuando es VERDADERO, la solicitud se almacenará en caché y la respuesta se guardará. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
@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
)
}
comprobar y abrir la capa de consentimiento
Comprueba si se requiere el consentimiento del usuario y, en caso afirmativo, abre la interfaz de usuario de la capa de consentimiento. Este método consume una página vista.
parámetros
Ninguna. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
@objc func checkAndOpenConsentLayerAction() {
cmpManager?.checkAndOpenConsentLayer()
}
consentimientoSolicitadoHoy
Comprueba si la capa de consentimiento se solicitó hoy. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
VERDADERO si el consentimiento del usuario ya fue solicitado hoy.
FALSO en caso contrario.
Ejemplo
@objc func consentRequestedTodayAction() {
if let calledToday = cmpManager?.consentRequestedToday() {
print("Consent requested today: \(calledToday)")
} else {
print("Failed to retrieve consent request status for today.")
}
}
deshabilitarPurposeList
Desactiva una lista de propósitos y actualiza el consentimiento otorgado. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
purposes |
Formación | Lista de identificadores de propósito para deshabilitar. |
onFinish |
función (Opcional) | Devolución de llamada para gestionar el evento de consentimiento recibido. se llamará cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
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)
desactivar la lista de proveedores
Desactiva una lista de proveedores y actualiza el consentimiento otorgado. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
vendors |
Formación | Lista de identificadores de proveedores para deshabilitar. |
onFinish |
función (Opcional) | Devolución de llamada para manejar el evento de consentimiento recibido. Se llamará cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
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)
enablePurposeList
Habilita una lista de propósitos y actualiza el consentimiento otorgado. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
purposes |
Formación | Lista de ID de propósito para habilitar. |
onFinish |
función (Opcional) | Devolución de llamada para manejar el evento de consentimiento recibido. Se llamará cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno
Ejemplo
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)
habilitarLista de proveedores
Habilita una lista de proveedores y actualiza el consentimiento otorgado. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
vendors |
Formación | Lista de ID de proveedores para habilitar. |
onFinish |
función (Opcional) | Devolución de llamada para manejar el evento de consentimiento recibido. Me llamarán cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
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)
exportarCmpString
Exporta la cadena CMP actual que representa las preferencias de consentimiento del usuario. Se accede a este método de forma estática. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
La cadena de consentimiento.
Ejemplo
@objc func exportConsentStringAction() {
let exportString = cmpManager.exportCmpString()
print(exportString ?? "No string to export.");
}
obtenertodoslospropósitos
Devuelve los identificadores de todos los propósitos. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene ID para todos los fines.
Ejemplo
@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.")
}
}
obtener lista multipropósito
Devuelve una lista de todos los identificadores de propósito para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una lista que contiene identificaciones para todos los propósitos.
Ejemplo
@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.")
}
}
obtener todos los proveedores
Devuelve los identificadores de todos los proveedores de un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene todos los ID de proveedores.
Ejemplo
@objc func getAllVendorsAction() {
if let allPurposes = cmpManager?.getAllVendors() {
print("Printing all Vendors: \(allPurposes)")
} else {
print("Failed to retrieve all vendors.")
}
}
obtener lista de todos los proveedores
Devuelve una lista de todos los identificadores de proveedores para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una lista que contiene todos los ID de proveedores.
Ejemplo
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getConsentString
Devuelve una cadena con el último consentimiento otorgado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena con el último consentimiento reconocido por el usuario.
Ejemplo
@objc func getAllVendorsListAction() {
if let allVendors = cmpManager?.getAllVendorsList() {
print("All vendors list: \(allVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve all vendors list.")
}
}
getDisabledPurposes
Devuelve todos los identificadores de propósitos deshabilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene los ID de todos los propósitos deshabilitados.
Ejemplo
@objc func getDisabledPurposesAction() {
if let disabledPurposes = cmpManager?.getDisabledPurposes() {
print("Disabled purposes: \(disabledPurposes)")
} else {
print("Failed to retrieve disabled purposes.")
}
}
getDisabledVendors
Devuelve todos los identificadores de proveedores deshabilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene los ID de todos los proveedores deshabilitados.
Ejemplo
@objc func getDisabledVendorsAction() {
if let disabledVendors = cmpManager?.getDisabledVendors() {
print("Disabled vendors: \(disabledVendors)")
} else {
print("Failed to retrieve disabled vendors.")
}
}
getEnabledPurposes
Devuelve todos los identificadores de proveedores habilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene los ID de todos los proveedores habilitados.
Ejemplo
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledPurposeList
Devuelve una lista con todos los identificadores de propósitos habilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una lista que contiene los ID de todos los propósitos habilitados.
Ejemplo
@objc func getEnabledPurposesAction() {
if let enabledPurposes = cmpManager?.getEnabledPurposes() {
print("Enabled purposes: \(enabledPurposes.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled purposes list.")
}
}
getEnabledVendors
Devuelve todos los identificadores de proveedores habilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena separada por comas que contiene los ID de todos los proveedores habilitados.
Ejemplo
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors)")
} else {
print("Failed to retrieve enabled vendors.")
}
}
getEnabledVendorList
Devuelve una lista con todos los identificadores de proveedores habilitados para un CMP determinado. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una lista que contiene todos los ID de proveedores habilitados.
Ejemplo
@objc func getEnabledVendorsAction() {
if let enabledVendors = cmpManager?.getEnabledVendors() {
print("Enabled vendors: \(enabledVendors.joined(separator: ", "))")
} else {
print("Failed to retrieve enabled vendors.")
}
}
obtenerGoogleACString
Recupera la cadena de ID de consentimiento adicional de Google (`addtlConsent`) que fue establecida por el consent manager.
Para más información, consulte el Especificación técnica del consentimiento adicional de Google.
Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una lista que contiene todos los ID de proveedores habilitados.
Ejemplo
@objc func getGoogleConsentStringAction() {
if let googleACString = cmpManager?.getGoogleACString() {
print("Google Additional Consent String: \(googleACString)")
} else {
print("Failed to retrieve Google Additional Consent String.")
}
}
getUSPrivacyString
Recupera la cadena de privacidad de EE. UU. Esta cadena de privacidad de EE. UU. es una cookie que almacena información sobre las divulgaciones realizadas y las opciones seleccionadas por el visitante del sitio web con respecto a sus derechos como consumidor. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena con los datos de privacidad de EE. UU. establecidos por consentmanager.
Ejemplo
@objc func getUSPrivacyStringAction() {
if let theUSPrivacyString = cmpManager?.getUSPrivacyString() {
print("US Privacy string contents: \(theUSPrivacyString)")
} else {
print("Failed to retrieve US Privacy string.")
}
}
tiene consentimiento
Comprueba si el usuario ya ha dado su consentimiento. La capa de consentimiento puede tener la opción de simplemente cerrar la capa. En ese caso, el usuario no ha dado su consentimiento. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Una cadena con los datos de privacidad de EE. UU. establecidos por consentmanager.
Ejemplo
@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 (a partir de la versión 2.5.3)
hasPurposeConsent (obsoleto)
Comprueba si el ID de propósito está habilitado según el consentimiento del usuario. Este método no consume páginas vistas.
parámetros
Nombre | Tipo | Descripción |
purposeId |
Cordón | identificación de propósito |
defaultReturn |
Boolean | Valor que devuelve por defecto el método, en caso de que aún no exista consentimiento. Vea la advertencia a continuación. |
Ida y vuelta
VERDADERO si el usuario ha dado el consentimiento para el propósito especificado.
FALSO en caso contrario.
Tenga en cuenta que si, por cualquier motivo relacionado con una conexión a Internet deficiente o nula en el dispositivo o en el caso de ausencia de un consentimiento, el valor que se estableció a través de defaultReturn
Se devolverá el parámetro.
El sistema defaultReturn
parámetro no existe en versiones anteriores a 2.5.3.
Ejemplo
@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 (a partir de la versión 2.5.3)
hasVendorConsent (obsoleto)
Comprueba si el ID del proveedor está habilitado según el consentimiento del usuario. Este método no consume páginas vistas.
parámetros
Nombre | Tipo | Descripción |
vendorId |
Cordón | identificación del proveedor |
defaultReturn |
Boolean | Valor que devuelve por defecto el método, en caso de que aún no exista consentimiento. Vea la advertencia a continuación. |
Ida y vuelta
VERDADERO si el usuario ha dado su consentimiento al proveedor especificado.
FALSO en caso contrario.
Tenga en cuenta que si, por cualquier motivo relacionado con una conexión a Internet deficiente o nula en el dispositivo o en el caso de ausencia de un consentimiento, el valor que se estableció a través de defaultReturn
Se devolverá el parámetro.
El sistema defaultReturn
parámetro no existe en versiones anteriores a 2.5.3.
Ejemplo
@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.")
}
}
importarCmpString
Importa una cadena CMP que representa las preferencias de consentimiento del usuario. La cadena debe informarse TAL CUAL cuando se recupera a través del método exportCmpString()Este método no consume páginas vistas.
parámetros
Nombre | Tipo | Descripción |
cadena de consentimiento | Cordón | Cadena que representa el consentimiento |
finalizaciónHandler | función (opcional) | Controlador de finalización de devolución de llamada al método. |
Ida y vuelta
Ninguna.
Ejemplo
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)
inicializar
La función de inicialización inicializará la capa de consentimiento y verificará automáticamente si el usuario necesita un consentimiento o no. Esta función abrirá la capa de consentimiento e interactuará con la API de transparencia de seguimiento de Apple para solicitar el consentimiento del usuario. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
cmpConfig |
cmpconfig | El objeto CmpConfig se pasa con la información relativa a appId, Dominio, appName e idioma (opcional) |
Ida y vuelta
El objeto CMPManager.
Ejemplo
// 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
}
}
se requiere consentimiento
Comprueba si el usuario actual de la aplicación debe dar su consentimiento. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
TRUE si el usuario necesita dar su consentimiento.
FALSO en caso contrario.
Ejemplo
@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.")
}
}
abrirVer
Abre a la fuerza la vista web de la capa de consentimiento de CMP. Este método consume una vista de página.
parámetros
Ninguna. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
self.cmpConsentTool?.openView()
rechazar todo
Rechaza la capa de consentimiento y se comporta de la misma manera cuando el usuario no acepta el consentimiento. Este método consume una página vista.
parámetros
Nombre | Tipo | Descripción |
onFinish |
función | Opcional. Devolución de llamada para manejar el evento de consentimiento recibido. se llamará cuando se reciba y procese el consentimiento. |
Ida y vuelta
Sin valor de retorno
Ejemplo
func onFinish() {
print("Notification: New consent has been received with a Reject All response.")
}
// Reject all consent with a callback
cmpManager.rejectAll(onFinish)
reajustar
Restablece todas las propiedades a los valores predeterminados. Este método no consume páginas vistas.
parámetros
Ninguna. |
Ida y vuelta
Sin valor de retorno.
Ejemplo
CMPManager.reset()
conCloseListener
Agrega un oyente cercano para recibir notificaciones cuando se cierra la capa de consentimiento.
parámetros
Nombre | Tipo | Descripción |
closeListener |
función | Devolución de llamada que se llamará cuando se cierre la capa de consentimiento. |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
conOpenListener
Agrega un oyente abierto para recibir notificaciones cuando se abre la capa de consentimiento.
parámetros
Nombre | Tipo | Descripción |
openListener |
función | Devolución de llamada a la que se llamará cuando se abra la capa de consentimiento |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
conErrorListener
Agrega un detector de errores para recibir notificaciones cuando ocurre un error.
parámetros
Nombre | Tipo | Descripción |
errorListener |
función | Devolución de llamada para agregar acción si se produjo un error. |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
conOnCMPNotOpenedListener
Agrega una devolución de llamada de Cmp no abierto para recibir una notificación cuando la capa de consentimiento no se abre. La razón más común es que el usuario ya dio su consentimiento.
parámetros
Nombre | Tipo | Descripción |
openListener |
función | Devolución de llamada que se llamará cuando no se abra la capa de consentimiento. |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
conOnCmpButtonClickedCallback
Establece una devolución de llamada para recibir notificaciones cuando el usuario hace clic en un botón para cerrar la capa de consentimiento.
parámetros
Nombre | Tipo | Descripción |
openListener |
función | Devolución de llamada que se invocará con CmpButtonEvent indicando qué botón se presionó. |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
conCmpViewControllerConfigurationBlock
Personaliza la capa de consentimiento UIViewController.
parámetros
Nombre | Tipo | Descripción |
|
Bloque de configuración CmpViewController |
Personaliza la capa de consentimiento
Controlador UIView. |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
cmpConsentTool = CMPConsentTool(cmpConfig: cmpConfig)
.withCmpViewControllerConfigurationBlock { viewController in
viewController?.modalPresentationStyle = .formSheet
}
conCmpViewConfigurationBlock
Personalice la UiView de la capa de consentimiento.
parámetros
Nombre | Tipo | Descripción |
|
Bloque de configuración CmpUIView |
Personaliza la capa de consentimiento
Vista de interfaz de usuario |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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)
}
conActualizaciónGoogleConsentimiento
Recupera el estado del modo de consentimiento de Google.
parámetros
Nombre | Tipo | Descripción |
|
[Cordón: Cordón]? |
Estado de consentimiento |
Ida y vuelta
Herramienta de consentimiento CMP
Ejemplo
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
}
}