Info
Contenido

[Android] 2. Documentación de la API

La directiva  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.

Inicialización

Objeto UrlConfig(:UrlConfig)

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 CMP
  • domain: Cadena: el dominio para la gestión del consentimiento
  • language: Cadena: el código de idioma (por ejemplo, "EN")
  • appName: Cadena: el nombre de su aplicación

Ejemplo:

val urlConfig = UrlConfig(
    id = "YOUR_CODE_ID_HERE",
    domain = "delivery.consentmanager.net",
    language = "EN",
    appName = "CMDemoAppKotlin"
)

setActivity(actividad: Actividad)

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)

checkIfConsentIsRequired(finalización: (booleano) -> Unidad)

parámetros:

  • completion: (Booleano) -> Unidad - Un cierre llamado con el resultado, ya sea true or false.

Devoluciones: Ninguna

Ejemplo:

cmpManager.checkIfConsentIsRequired { needsConsent ->
	toastMessage = "Needs Consent: $needsConsent"
}

checkWithServerAndOpenIfNecessary(finalización: (Resultado ) -> Unidad)

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 sea true or false.

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"
}

openConsentLayer(finalización: (Resultado ) -> Unidad)

parámetros:

  • 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}"
	}
}

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)")

hasPurposeConsent(id: Cadena)

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)")

hasVendorConsent(id: cadena)

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)")

Propósito y gestión de proveedores

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)")

acceptAll(finalización: (Resultado ) -> Unidad)

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}"
	}
}

acceptPurposes(propósitos: Lista , updatePurpose: Boolean, finalización: (Resultado ) -> Unidad)

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}"
    }
}

acceptVendors(proveedores: Lista , finalización: (Resultado ) -> Unidad)

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}"
	}
}

importCMPInfo(cmpString: Cadena)

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(finalización: (Resultado ) -> Unidad)

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(propósitos: Lista , updateVendor: Boolean, finalización: (Resultado ) -> Unidad)

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}"
	}
}

rejectVendors(vendedores: Lista , finalización: (Resultado ) -> Unidad)

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()

parámetros:

Ninguna

Devoluciones: Ninguna

Ejemplo:

cmpManager.resetConsentManagementData()

Eventos de CMPManagerDelegate

didReceiveConsent(consentimiento: String, jsonObject: [String: Cualquiera])

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.

 

Volver