[Android] 2. Documentación de la API
El CMPManager La clase proporciona métodos para gestionar el consentimiento del usuario para el procesamiento y seguimiento de datos. Esta documentación cubre los principales métodos disponibles para la integración de aplicaciones móviles.
Todos los ejemplos mencionados a continuación fueron extraídos y se pueden encontrar en nuestro Aplicación de demostración.
Por favor, checa el métodos obsoletos en caso de que ya esté integrando la versión 3 de nuestro CMP SDK.
Inicialización
Configuración de URL ()
Establece la configuración de URL para el Consent ManagerDebe inicializarse con el valor que se muestra a continuación y pasarse a la getInstance método.
parámetros:
-
id: Cadena: el ID de código recuperado de su panel de CMP -
domain: Cadena: el dominio para la gestión del consentimiento, también recuperado de su panel de CMP -
language: Cadena - El código del idioma (por ejemplo, "EN", "IT", "DE", etc.) -
appName: Cadena: el nombre de su aplicación, utilizado únicamente para fines de informes -
jsonConfig:Objeto JSON: opcional, solo se usa en casos especiales, no lo use a menos que se indique claramente en su panel de CMP junto con los otros parámetros anteriores.
Ejemplo:
val urlConfig = UrlConfig(
id = "YOUR_CODE_ID_HERE",
domain = "delivery.consentmanager.net",
language = "EN",
appName = "CMDemoAppKotlin"
)
establecerActividad()
Establece la actividad que presentará la capa de consentimiento. Debe ser una ComponentActivity.
parámetros:
-
viewController: ComponentActivity: la actividad donde se presentará la capa de consentimiento.
Devoluciones: Ninguna
Ejemplo:
CMPManager.shared.setPresentingViewController(self)
Parámetros de ConsentLayerUIConfig()
-
position: Estrategia de posicionamiento del diálogo (predeterminado:Position.FULL_SCREEN):-
Position.FULL_SCREEN- Cubre toda la pantalla -
Position.HALF_SCREEN_TOP- Mitad superior de la pantalla -
Position.HALF_SCREEN_BOTTOM- Mitad inferior de la pantalla -
Position.custom(width: Int, height: Int)- Dimensiones personalizadas en píxeles
-
-
backgroundStyle: Apariencia de fondo (predeterminado: `BackgroundStyle.dimmed(Color.BLACK, 0.5f)) -
cornerRadius: Flotante - Radio de esquina en dp (predeterminado:0f).- Nota: Requiere la versión 3.7.0 o superior del SDK para un recorte de contenido WebView correcto.
-
respectsSafeArea: Booleano - Indica si se deben respetar los márgenes de la interfaz de usuario del sistema (valor predeterminado:true).-
Nota: En Android 11+ (API 30), configurar a
falsePermite que el diálogo se extienda bajo las barras del sistema
-
Nota: En Android 11+ (API 30), configurar a
-
isCancelable: Booleano - Indica si el diálogo se puede descartar (valor predeterminado:true) -
darkMode: Booleano - Habilitar el estilo del modo oscuro (predeterminado: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
)
Gestión de la capa de consentimiento
obtenerEstadoUsuario()
Devuelve una instantánea detallada del estado de consentimiento y las preferencias actuales del usuario. Este método proporciona información completa sobre las opciones de consentimiento del usuario, incluido su estado de consentimiento general, los permisos de proveedores individuales, los consentimientos específicos para cada propósito y las cadenas de consentimiento relevantes.
parámetros:
- Ninguna
Devoluciones:
Tipo de retorno: CMPUserStatusResponse objeto, explicado en el código siguiente.
Ejemplo:
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)
comprobarYAbrir()
Consulta con el servidor si se requiere consentimiento y abre la capa de consentimiento si es necesario. Esto hará una llamada de red a nuestros servidores a través de WKWebView creado dentro de nuestro SDK. Consumiendo una página vista en el proceso. Esta llamada de red enviará un mensaje a nuestro backend a través de JavaScript, que detectará si el dispositivo tiene un consentimiento válido o no, lo que a su vez determinará si es necesario mostrar la capa de consentimiento o no.
parámetros:
-
jumpToSettings:Un valor booleano para determinar si la capa de consentimiento mostrada conducirá automáticamente a la página donde hay un control más granular sobre los consentimientos dados por los usuarios, lo que les permite ajustar sus opciones (cuando se configura entrue) o la pantalla predeterminada inicial con los botones (cuando se configura enfalseo suprimido). -
completion:Un cierre llamado cuando la operación se completa, con el resultado, ya seatrueorfalse.
Devoluciones: Ninguna
Ejemplo:
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"
}
ForzarAbrir()
Abre la capa de consentimiento. Realiza una llamada de red a nuestro backend. Consumiendo una página vista en el proceso. Mostrará la capa de consentimiento que permite al usuario aceptar todas o rechazar todas las opciones o, según el parámetro jumpToSettings, permitirle controlar los consentimientos de una manera más granular.
parámetros:
-
jumpToSettings:Un valor booleano para determinar si la capa de consentimiento mostrada conducirá automáticamente a la página donde hay un control más granular sobre los consentimientos dados por los usuarios, lo que les permite ajustar sus opciones (cuando se configura entrue) o la pantalla predeterminada inicial con los botones (cuando se configura enfalseo suprimido). -
completion:Un cierre llamado cuando la operación se completa, devolviendo un éxito o un error.
Devoluciones: Ninguna
Ejemplo:
cmpManager.openConsentLayer { result ->
result.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
Estado de consentimiento
exportarCMPInfo()
Exporta la información de consentimiento actual almacenada en el dispositivo como una cadena. Este método recupera la cadena de consentimiento del área SharedPreferences del dispositivo y la devuelve. Por lo general, esta información se pasa al importCMPInfo método.
Devoluciones: Cadena: la información de consentimiento exportada
Ejemplo:
val cmpInfo = CMPManager.shared.exportCMPInfo()
Log.d("Exported CMP info: \(cmpInfo)")
obtener el estado del modo de consentimiento de Google()
Se integra perfectamente con el modo de consentimiento, una tecnología de Google que permite el modelado de conversión y análisis. Permitir que los servicios de Google rellenen lagunas de datos cuando los usuarios no dan su consentimiento. Esta función traduce el consentimiento del usuario de su CMP a un formato que Firebase Analytics puede entender, de modo que puede simplemente obtener el retorno de este método y pasarlo al método .setConsent de Firebase.
- Luego actualiza Google Analytics con el estado de consentimiento actual del usuario.
parámetros:
- Ninguna
Devoluciones: Map<String, String> - Una matriz de valores clave con las cuatro claves del modo de consentimiento de Google: .analyticsStorage, .adStorage, .adUserData y .adPersonalization, y sus respectivos valores en términos de .choiceDoesntExist, .granted or .denied.
Ejemplo:
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")
}
}
obtenerEstadoParaPropósito()
Comprueba si se ha otorgado el consentimiento para un fin específico y si este consentimiento se almacena en el dispositivo. Comprueba el área UserDefaults para ver los consentimientos aceptados o rechazados y filtra el ID que se pasa como parámetro, devolviendo verdadero si el consentimiento fue aceptado o falso en caso contrario.
parámetros:
-
id: Cadena: el ID del propósito a verificar
Devoluciones: UniqueConsentStatus - Una enumeración con los valores .choiceDoesntExist Si no se dio el consentimiento, .granted or .denied.
Ejemplo:
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"
}
Obtener estado del vendedor()
Comprueba si se ha otorgado el consentimiento para un proveedor específico y si este consentimiento se almacena en el dispositivo. Comprueba el área UserDefaults para ver los consentimientos aceptados o rechazados y filtra el ID que se pasa como parámetro, devolviendo verdadero si se aceptó el consentimiento o falso en caso contrario.
parámetros:
-
id: Cadena: el ID del propósito a verificar
Devoluciones: UniqueConsentStatus - Una enumeración con los valores .choiceDoesntExist Si no se dio el consentimiento, .granted or .denied.
Ejemplo:
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"
}
Modificación del consentimiento
aceptarTodo()
Acepta el consentimiento para todos los propósitos y proveedores, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend a través de un mensaje inyectado en el WebView, que activará la aceptación de todos los consentimientos, según la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un resultado exitoso o fallido, lo que significa que nuestro backend la procesó con éxito y se mantuvo en el dispositivo.
parámetros:
-
completion:Un cierre llamado cuando la operación se completa, devolviendo un error o un éxito.
Devoluciones: Ninguna
Ejemplo:
cmpManager.acceptAll { result ->
result.onSuccess {
toastMessage = "All consents accepted"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
aceptarPropósitos()
Acepta el consentimiento para fines específicos, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend a través de un mensaje inyectado en el WebView, que activará la aceptación de los propósitos determinados pasados como parámetro, según la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un éxito o un fracaso, lo que significa que fue procesada con éxito por nuestro backend y persistida en el dispositivo.
parámetros:
-
purposes: Lista - Una lista de identificaciones de propósito para aceptar -
updatePurpose: Booleano: si se deben actualizar los propósitos relacionados -
completion:Un cierre llamado cuando la operación se completa, devolviendo un error o un éxito
Devoluciones: Ninguna
Ejemplo:
cmpManager.acceptPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
aceptarProveedores()
Acepta el consentimiento de proveedores específicos, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend a través de un mensaje inyectado en el WebView, que activará la aceptación de los proveedores determinados pasados como parámetro, de acuerdo con la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un resultado exitoso o fallido, lo que significa que nuestro backend la procesó con éxito y se mantuvo en el dispositivo.
parámetros:
-
vendors: Lista - Una lista de identificaciones de proveedores a aceptar -
completion:Un cierre llamado cuando la operación se completa
Devoluciones: Ninguna
Ejemplo:
cmpManager.acceptVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
importarCMPInfo()
Importa información de consentimiento de una cadena CMP. Recibirá una cadena simple que contiene los datos de consentimiento, generalmente obtenidos a través de exportCMPInfo método. Esta información se conserva en el área SharedPreferences del dispositivo y, al mismo tiempo, se envía a nuestro backend a través de un mensaje inyectado en WebView. consumiendo una página vista en el proceso.
parámetros:
-
cmpString: Cadena: la cadena CMP que se importará -
completion:Un cierre llamado cuando la operación se completa, devolviendo un error o un éxito
Devoluciones: Ninguna
Ejemplo:
val cmpString = "Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw"
cmpManager.importCMPInfo(cmpString) { result ->
result.onSuccess {
toastMessage = "Vendors Enabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rechazarTodo()
Rechaza el consentimiento para todos los fines y proveedores, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend a través de un mensaje inyectado en el WebView, que activará el rechazo de todos los consentimientos, según la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un resultado exitoso o fallido, lo que significa que nuestro backend la procesó con éxito y se mantuvo en el dispositivo.
parámetros:
-
completion:Un cierre llamado cuando la operación se completa
Devoluciones: Ninguna
Ejemplo:
cmpManager.rejectAll { result ->
result.onSuccess {
toastMessage = "All consents rejected"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rechazarPropósitos()
Rechaza el consentimiento para fines específicos, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend mediante un mensaje inyectado en el WebView, que activará el rechazo de los propósitos determinados pasados como parámetro, según la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un éxito o un fracaso, lo que significa que fue procesada con éxito por nuestro backend y persistida en el dispositivo.
parámetros:
-
purposes:List<String>- Una lista de identificaciones de propósitos para rechazar -
updateVendor:Boolean- Si se deben actualizar los proveedores relacionados -
completion:Un cierre llamado cuando la operación se completa
Devoluciones: Ninguna
Ejemplo:
cmpManager.rejectPurposes(listOf("c52", "c53"), true) { result ->
result.onSuccess {
toastMessage = "Purposes disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
rechazarVendedores()
Rechaza el consentimiento para proveedores específicos, Consumiendo una página vista en el proceso. Realiza una llamada de red a nuestro backend a través de un mensaje inyectado en el WebView, que activará el rechazo de los proveedores determinados pasados como parámetro, según la configuración de CMP. Esta información solo estará disponible para los demás métodos después de que la devolución de llamada devuelva un éxito o un fracaso, lo que significa que fue procesada con éxito por nuestro backend y persistida en el dispositivo.
parámetros:
-
vendors: Lista - Una lista de identificaciones de proveedores para rechazar -
completion:Un cierre llamado cuando la operación se completa, devolviendo un error o un éxito
Devoluciones: Ninguna
Ejemplo:
cmpManager.rejectVendors(listOf("s2790", "s2791")) { result ->
result.onSuccess {
toastMessage = "Vendors Disabled"
}.onFailure { error ->
toastMessage = "Error: ${error.message}"
}
}
restablecerConsentManagementData()
Restablece todos los datos de gestión de consentimientos. Esto borra por completo todas las entradas del área SharedPreferences relacionadas con los consentimientos aceptados o rechazados por el usuario. Es similar a eliminar por completo la aplicación del dispositivo.
parámetros:
Ninguna
Devoluciones: Ninguna
Ejemplo:
cmpManager.resetConsentManagementData()
Pasar datos de consentimiento a SDK de terceros
actualizarConsentimiento de terceros
Este método gestiona la transferencia automática de datos de consentimiento a SDK de terceros como AppsFlyer, AdJust, Branch, Kochava, Singular, AirBridge y Tenjin. Funciona mediante introspección/reflexión, por lo que inicialice el SDK de terceros con sus credenciales utilizando la estrategia habitual recomendada por el proveedor, y nuestro SDK de CMP detectará la instancia del SDK 3P e invocará los métodos necesarios.
Eventos de CMPManagerDelegate
setOnClickEnlaceDevoluciónDeLlamada
El SDK proporciona un mecanismo de gestión de enlaces flexible que permite a las aplicaciones personalizar la forma en que se gestionan las URL dentro de la capa de consentimiento. De forma predeterminada, todos los enlaces se abren dentro de WebView, pero las aplicaciones pueden interceptar URL específicas para gestionarlas externamente cuando sea necesario.
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(consentimiento: String, jsonObject: Mapa )
Esto se activa cuando la capa de consentimiento se cerró después de que el usuario actualizó sus consentimientos O cuando se invocan métodos que provocan cambios en los consentimientos, como acceptAll, rejectAll, acceptVendors, rejectVendors, etc. Significa que el usuario aceptó o rechazó algunos o todos los consentimientos, y que estos se guardaron correctamente en el dispositivo.
¿Mostró la capa de consentimiento?
Esto se activa cuando se muestra realmente la capa de consentimiento. Significa que no había un consentimiento válido en el dispositivo, por lo que se debe recopilar uno nuevo.
¿Cerrar capa de consentimiento?
Esto se activa cuando el SDK verificó la necesidad de un consentimiento, pero no fue necesario y la capa no se mostró. Significa que ya existe uno válido en el dispositivo, por lo que no es necesario uno nuevo y la capa de consentimiento no se mostrará.
Error de recepción
Esto se activa cuando el SDK detecta algún error y devuelve su código.
Métodos obsoletos
Todos los métodos siguientes quedaron obsoletos y será completamente eliminado desde el SDK de Julio / 2025 en.
comprobarSiSeRequiereConsentimiento()
Comprueba si se requiere el consentimiento del usuario. Esto realizará una llamada de red a nuestros servidores a través de la vista web creada dentro de nuestro SDK, que enviará un mensaje a nuestro backend a través de JavaScript. Nuestro backend detectará si el dispositivo tiene un consentimiento válido o no y el mensaje se enviará de vuelta a la vista web, determinando si es necesario mostrarlo o no. Consumiendo una página vista En el proceso. Según el mensaje devuelto, el SDK lo interpretará y devolverá sus resultados a través del controlador de finalización.
parámetros:
-
completion: (Booleano) -> Unidad - Un cierre llamado con el resultado, ya seatrueorfalse.
Devoluciones: Ninguna
Ejemplo:
cmpManager.checkIfConsentIsRequired { needsConsent ->
toastMessage = "Needs Consent: $needsConsent"
}
comprobarConServidorYAbrirSiEsNecesario()
Consulta con el servidor si se requiere consentimiento y abre la capa de consentimiento si es necesario. Esto hará una llamada de red a nuestros servidores a través de la vista web creada dentro de nuestro SDK. Consumiendo una página vista en el proceso. Esta llamada de red enviará un mensaje a nuestro backend a través de JavaScript, que detectará si el dispositivo tiene un consentimiento válido o no, lo que a su vez determinará si es necesario mostrar la capa de consentimiento o no.
parámetros:
-
completion:Un cierre llamado cuando la operación se completa, con el resultado, ya seatrueorfalse.
Devoluciones: Ninguna
Ejemplo:
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"
}
obtenerIDsDeTodosLosPropósitos()
Recupera todos los ID de propósito almacenados en el dispositivo, de acuerdo con las configuraciones de CMP. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de identificaciones para todos los propósitos
Ejemplo:
val allPurposes = cmpManager.getAllPurposesIDs()
Log.d("All purposes: \(allPurposes)")
obtenerIDDeTodosLosProveedores()
Recupera todos los ID de proveedores almacenados en el dispositivo, de acuerdo con las configuraciones de CMP. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en SharedPreferences. cafe, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de todos los ID de proveedores
Ejemplo:
val allVendors = cmpManager.getAllVendorsIDs()
Log.d("All vendors: \(allVendors)")
obtenerIDsPropósitosDeshabilitados()
Recupera los ID de todas las finalidades deshabilitadas almacenadas en el dispositivo, según las configuraciones de CMP y las elecciones del usuario. Si el usuario acepta todos los consentimientos, este campo estará vacío. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de identificaciones de propósitos deshabilitados
Ejemplo:
val disabledPurposes = cmpManager.getDisabledPurposesIDs()
Log.d("Disabled purposes: \(disabledPurposes)")
obtenerID de proveedores deshabilitados()
Recupera los ID de todos los proveedores deshabilitados almacenados en el dispositivo, según las configuraciones de CMP. Si el usuario acepta todos los consentimientos, este campo estará vacío. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de identificaciones de proveedores deshabilitados
Ejemplo:
val disabledVendors = CMPManager.shared.getDisabledVendorsIDs()
Log.d("Disabled vendors: \(disabledVendors)")
obtenerEnabledPurposesIDs()
Recupera los ID de todas las finalidades habilitadas almacenadas en el dispositivo, según las configuraciones del CMP. Si el usuario rechaza todos los consentimientos, este campo quedará vacío. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de identificaciones de propósitos habilitados
Ejemplo:
val enabledPurposes = cmpManager.getEnabledPurposesIDs()
Log.d("Enabled purposes: \(enabledPurposes)")
obtenerEnabledVendorsIDs()
Recupera los ID de todos los proveedores habilitados almacenados en el dispositivo. Si el usuario rechaza todos los consentimientos, este campo estará vacío. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Lista - Una lista de identificaciones de proveedores habilitadas
Ejemplo:
val enabledVendors = cmpManager.getEnabledVendorsIDs()
Log.d("Enabled vendors: \(enabledVendors)")
tienePropósitoConsentimiento()
Comprueba si se ha otorgado el consentimiento para un fin específico y si este consentimiento se almacena en el dispositivo. Comprueba el área SharedPreferences para ver los consentimientos aceptados o rechazados y filtra el ID que se pasa como parámetro, devolviendo verdadero si el consentimiento fue aceptado o falso en caso contrario.
parámetros:
-
id: Cadena: el ID del propósito a verificar
Devoluciones: Boolean - True Si se da el consentimiento, false de otra manera
Ejemplo:
val hasPurposeConsent = cmpManager.hasPurposeConsent(id: "c53")
Log.d("Has consent for purpose c53: \(hasPurposeConsent)")
tieneSelecciónDeUsuario()
Comprueba si el usuario ha elegido los consentimientos y si estos se almacenan en el dispositivo. Esto significa que el usuario aceptó todos los consentimientos, los rechazó todos o eligió una combinación de consentimientos aceptados y rechazados, según el diseño de la CMP, lo que podría permitir a los usuarios aceptar algunos de los consentimientos y rechazar otros. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
Devoluciones: Boolean - true Si el usuario ha hecho una elección, false de otra manera
Ejemplo:
val hasChoice = cmpManager.hasUserChoice()
print("User has made a choice: \(hasChoice)")
tiene consentimiento del vendedor ()
Comprueba si se ha dado el consentimiento para un proveedor específico y este consentimiento se almacena en el dispositivo, de acuerdo con las configuraciones de CMP. Esta información solo se actualizará después de que el consentimiento se conserve correctamente en el área SharedPreferences, por lo que si realiza la verificación inmediatamente después de usar métodos que desencadenan cambios en el consentimiento como openConsentLayer, acceptAll or rejectAll, por ejemplo, entonces Espere hasta que se active la devolución de llamada de esos métodos antes de acceder al método. hasUserChoice, Para asegurarse de que la información esté actualizada.
parámetros:
-
id: Cadena: el ID del proveedor a verificar
Devoluciones: Boolean - True Si se da el consentimiento, false de otra manera
Ejemplo:
val hasVendorConsent = cmpManager.hasVendorConsent(id: "s2789")
Log.d("Has consent for vendor s2789: \(hasVendorConsent)")







