ConsentManager GDPR / CCPA SDK para Android
EL ConsentManager SDK para aplicaciones de Android implementa y proporciona funcionalidad para informar al usuario sobre la protección de datos y solicitar y obtener el consentimiento del usuario. Permite a los desarrolladores de aplicaciones integrar fácilmente ConsentManager servicio en su aplicación.
Estándares soportados
EL ConsentManager GDPR / CCPA SDK para Android es compatible con los siguientes estándares de la industria:
- IAB TCF v1
- IAB TCF v2
- Privacidad de EE. UU. de IAB v1
- ConsentManager vendedores personalizados / propósitos
- Modo de consentimiento adicional de Google (cadena de CA de Google)
Cómo funciona
- Integre el SDK en la aplicación y configure los ajustes del SDK
- Una vez que el SDK se integre en una aplicación, el SDK proporcionará funciones para el desarrollador de la aplicación con el fin de recuperar los datos de consentimiento
- Tan pronto como se inicie la aplicación, el SDK recuperará automáticamente la información del ConsentManager servidores para preparar el SDK para su uso.
- Se recomienda que, al iniciar la aplicación, la aplicación cree una instancia de clase
CMPConsentTool
. Una vez que se crea esto, el SDK mostrará automáticamente la pantalla de consentimiento si es necesario. - Cuando la aplicación quiere procesar datos personales, debe "preguntar" al SDK si se dio el consentimiento para el propósito específico y el proveedor.
INSTALACIÓN
Repositorio en Bitbucket: https://bitbucket.org/consentmanager/android-consentmanager/src/master/
Gradle
Paso 1. Agregue el repositorio jitpack a su build.gradle raíz al final de los repositorios:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Paso 2. Agregue la dependencia a sus aplicaciones build.gradle. (Para obtener siempre la última versión, use el símbolo + para obtener las actualizaciones más recientes. Por ejemplo, siempre puede obtener las versiones más recientes para actualizaciones menores a través de 1.x.+)
dependencies {
implementation 'org.bitbucket.consentmanager:android-consentmanager:1.5.+'
}
Maven
Paso 1. Agrega el repositorio jitpack a tu build.gradle al final de los repositorios:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Paso 2. Agregue la dependencia a sus aplicaciones build.gradle. (Para obtener siempre la última versión en maven, puede usar diferentes métodos para rechazar el rango de versión. Puede buscarlos aquí )
<dependency>
<groupId>org.bitbucket.consentmanager</groupId>
<artifactId>android-consentmanager</artifactId>
<version>1.5.7</version>
</dependency>
Usando la biblioteca
Permissions
Este SDK requiere los siguientes permisos, asegúrese de agregarlos a su AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Iniciar herramienta de consentimiento
Con el inicio de la aplicación (generalmente su función viewDidAppear) debe crear una instancia de la clase CMPConsentTool. Esto obtendrá automáticamente los datos necesarios de nuestro servidor y determinará si la pantalla de consentimiento debe mostrarse o no. Si es así, el SDK mostrará automáticamente la pantalla de consentimiento en este punto, recopilará los datos y proporcionará los datos a la aplicación. Luego, la instancia se puede usar para obtener detalles de consentimiento del SDK para usarlo en la aplicación.
Para iniciar ConsentTool, vaya a su clase de destino y cree una instancia de CMPConsentTool como se muestra a continuación:
//...
import net.consentmanager.sdk.CMPConsentTool;
//...
public class MainActivity extends AppCompatActivity {
private CMPConsentTool consentTool;
//...
@Override
protected void onCreate(Bundle savedInstanceState) {
//..
consentTool = CMPConsentTool.createInstance(this, 123456, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "");
}
//...
}
Para crear la instancia de CMPConsentTool necesita configurar la instancia. Deberá proporcionar el ID de CMP, el dominio del servidor, el nombre de una aplicación y un idioma. El ID de CMP y el dominio del servidor se pueden encontrar en su ConsentManager cuenta bajo Menú> Obtener código. El nombre de la aplicación se puede usar para distinguir diferentes aplicaciones en ConsentManager informes Para el idioma, puede usar una cadena vacía ("") para la detección automática o un código de idioma de 2 letras ("EN", "DE", "FR", etc.).
Los valores de configuración se pueden insertar de diferentes maneras:
a) Configuración de SDK a través de CMPConfig
Agregue las siguientes líneas a su código:
val config = CMPConfig.apply {
serverDomain = CMP_DOMAIN
appName = CMP_APP_NAME
language = LANG
id = APP_ID
}
val consentTool = CMPConsentTool.createInstance(this, config);
b) Configuración de SDK a través de createInstance()
Agregue la siguiente línea a su código:
consentTool = CMPConsentTool.createInstance(this, 1234567, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "EN");
Usando el SDK
Verificar consentimiento
Para verificar si un proveedor o propósito tiene consentimiento, puede usar los dos métodos:
if(consentTool.hasPurposeConsent(this,"52",false))
{
if(consentTool.hasVendorConsent(this,"s26", false))
{
//do something with data
}
}
Ambos métodos hasPurposeConsent
y hasVendorConsent
requiere dos parámetros:
- id: cadena del proveedor o ID de propósito. Tenga en cuenta que las ID de proveedor pueden tener diferentes formatos ("123", "s123" y "c123"), verifique nuevamente con Menú> Proveedores y Menú> Propósitos en tu ConsentManager .
- isIABVendor / isIABPurpose: si el proveedor o el propósito es un proveedor / propósito que sigue el estándar IAB TCF, deberá establecer un verdadero, de lo contrario, un falso.
Recuerde: Todos los proveedores que no pertenecen al IAB tienen ID que comienzan con una "s" o "c" (por ejemplo, "s123"); Los proveedores que pertenecen a la IAB tienen ID que no comienzan con una "s" o "c".
Reabrir la pantalla de consentimiento
Para permitir que el usuario cambie las opciones, simplemente puede llamar openCmpConsentToolView()
:
consentTool.openCmpConsentToolView(this);
Pasar información de consentimiento a otras fuentes
En algunos casos, una aplicación nativa puede contener vistas web para mostrar ciertas cosas como publicidad o contenido. Para transmitir la información de consentimiento del SDK a la vista web, utilice la función:
String consentData = CMPConsentTool.exportCMPData(this);
Esto exportará la información de consentimiento y todos los datos adicionales que necesita el CMP. Luego puede pasar esta información al CMP que está en su vista web agregándola a la URL que se llama en la vista web:
myWebView.loadURL("https://mywebsite.com/....#cmpimport=" + consentData);
Oyentes de eventos personalizados
Para agregar una lógica de proceso adicional, puede utilizar los detectores de eventos. Los siguientes detectores de eventos están disponibles:
Nombre |
ocurre
|
OnOpenCallback |
Oyente de evento cuando se abrió CMP |
OnCMPCoseCallback |
Oyente de evento cuando CMP está cerrado |
OnCMPNotOpenedCallback |
Oyente para eventos cuando no es necesario abrir CMP |
OnErrorCallback |
Listener for Event cuando hay un error en el proceso de gestión de consentimiento. |
Consentimiento de importación/exportación
Para importar o exportar el consentimiento puede utilizar la función exportCMPData(Contexto contexto) y importCMPData(Contexto contexto, String cmpData). Mira el ejemplo a continuación:
// Importing consent data if you like
CMPConsentTool.importCMPData(this, "${your consentString}");
// Instantiate CMPConsentTool()
consentTool = CMPConsentTool.createInstance(...)
// ... Your code here ...
// Exporting Consent data
String consentString = CMPConsentTool.exportCMPData(this);
La cadena de consentimiento que necesita pasar debe estar codificada en base64.
Diagrama de secuencia del SDK de CMP
Descripción general de la API:
hasConsent(): Booleano
Descripción: Comprueba si el usuario ya ha dado su consentimiento.
Valor de retorno: Devuelve verdadero si el usuario ha dado su consentimiento, falso en caso contrario.
getAllPurposes(contexto: Contexto): Cadena
Descripción: Devuelve todos los propósitos como una Cadena.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar los propósitos.
Regreso: Una cadena que contiene todos los propósitos.
getAllPurposeList(contexto: Contexto): Lista
Descripción: Devuelve todos los propósitos como una lista de cadenas.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar los propósitos.
Regreso: Una lista de cadenas, donde cada cadena representa un propósito.
getAgreedPurposes(contexto: Contexto): Cadena
Descripción: Devuelve los propósitos que el usuario ha aceptado como una Cadena.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se recuperan los fines acordados.
Regreso: Una cadena que contiene los propósitos que el usuario ha aceptado.
getAgreedPurposeList(contexto: Contexto): Lista
Descripción: Devuelve una lista de propósitos que el usuario ha aceptado.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de propósitos acordados.
Regreso: una lista de valores de cadena que representan los propósitos que el usuario ha aceptado.
getDisabledPurposes(contexto: Contexto): Lista
Descripción: Devuelve una lista de propósitos que actualmente están deshabilitados.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de propósitos deshabilitados.
Regreso: una lista de valores de cadena que representan los propósitos que están deshabilitados actualmente.
getAllVendors(contexto: Contexto): Cadena
Descripción: Devuelve una cadena que contiene una lista de todos los proveedores disponibles.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de todos los proveedores.
Regreso: una cadena que contiene una lista de todos los proveedores disponibles.
getAllVendorsList(contexto: Contexto): Lista
Descripción Devuelve una lista de todos los proveedores disponibles.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de todos los proveedores.
Regreso: una lista de valores de cadena que representan a todos los proveedores disponibles.
getAgreedVendors(contexto: Contexto): Cadena
Descripción: Devuelve una cadena que contiene una lista de proveedores que el usuario ha aceptado.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de proveedores acordados.
Regreso: una cadena que contiene una lista de proveedores que el usuario ha aceptado.
getAgreedVendorList(contexto: Contexto): Lista
Descripción: Devuelve una lista de proveedores que el usuario ha aceptado.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de proveedores acordados.
Regreso: una lista de valores de cadena que representan a los proveedores que el usuario ha aceptado.
getDisabledVendors(contexto: Contexto): Lista
Descripción: Devuelve una lista de proveedores que actualmente están deshabilitados.
parámetros:
- contexto (tipo: Contexto): El contexto en el que recuperar la lista de proveedores deshabilitados.
Regreso: una lista de valores de cadena que representan a los proveedores que actualmente están deshabilitados.
enableVendorList(contexto: Contexto, proveedores: Lista )
Descripción: Habilita la lista dada de proveedores.
parámetros:
- contexto (tipo: Contexto): El contexto en el que habilitar los proveedores.
- proveedores (tipo: Lista ): una lista de valores de cadena que representan a los proveedores que se habilitarán.
Regreso: Ninguno.
disabledVendorList(contexto: Contexto, proveedores: Lista )
Descripción: Deshabilita la lista dada de proveedores.
parámetros:
- contexto (tipo: Contexto): El contexto en el que deshabilitar los proveedores.
- proveedores (tipo: Lista ): una lista de valores de cadena que representan a los proveedores que se deshabilitarán.
Regreso: Ninguno.
rechazarTodo(contexto: Contexto, onConsentReceivedCallback: OnConsentReceivedCallback)
Descripción Rechaza todo consentimiento para la aplicación.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se rechaza el consentimiento.
- onConsentReceivedCallback (tipo: OnConsentReceivedCallback): la función de devolución de llamada que se ejecuta después de que se rechaza el consentimiento.
Regreso Valor: Ninguno
acceptAll(contexto: Contexto, onConsentReceivedCallback: OnConsentReceivedCallback)
Descripción Acepta todo consentimiento para la aplicación.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se acepta el consentimiento.
- onConsentReceivedCallback (tipo: OnConsentReceivedCallback): la función de devolución de llamada que se ejecuta después de que se acepta el consentimiento.
Regreso Valor: Ninguno
getUSPrivacyString(contexto: Contexto): Cadena
Descripción Devuelve la cadena de privacidad de EE. UU.
parámetros:
- contexto (tipo: Contexto): el contexto en el que se devuelve la cadena de privacidad de EE. UU.
Regreso Valor:
- Una cadena que representa la cadena de privacidad de EE. UU.
hasVendorConsent(context: Contexto, id: Cadena, checkConsent: Boolean = true): Boolean
Descripción Comprueba si el usuario ha dado su consentimiento a un proveedor específico.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se verifica el consentimiento del proveedor.
- id (tipo: cadena): la identificación del proveedor.
- checkConsent (tipo: booleano, opcional): especifica si se debe verificar el consentimiento. El valor predeterminado es verdadero.
Regreso Valor:
- true si el usuario ha dado su consentimiento al vendedor, false en caso contrario.
hasPurposeConsent(context: Context, id: String, isIABPurpose: Boolean, checkConsent: Boolean = true): Boolean
Descripción Comprueba si el usuario ha dado su consentimiento para un propósito específico.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se comprueba el consentimiento de propósito.
- id (tipo: Cadena): El ID del propósito.
- isIABPurpose (tipo: booleano): especifica si el propósito es un propósito de IAB.
- checkConsent (tipo: booleano, opcional): especifica si se debe verificar el consentimiento. El valor predeterminado es verdadero.
Regreso Valor:
- verdadero si el usuario ha dado su consentimiento para el propósito, falso en caso contrario.
getGoogleACString(contexto: Contexto): Cadena
Descripción Devuelve el ID de publicidad de Google.
parámetros:
- contexto (tipo: contexto): el contexto en el que se devuelve el ID de publicidad de Google.
Regreso Valor:
- Una cadena que representa el ID de publicidad de Google.
getLastConsentString(contexto: Contexto): Cadena
Descripción Devuelve la última cadena de consentimiento.
parámetros:
- contexto (tipo: Contexto): el contexto en el que se devuelve la última cadena de consentimiento.
Regreso Valor:
- Una cadena que representa la última cadena de consentimiento.
exportConsentString(): Cadena
Descripción Exporta la cadena de consentimiento.
parámetros: Ninguna
Regreso Valor:
- Una cadena que representa la cadena de consentimiento.
getCalledLast (contexto: Contexto): ¿Fecha?
Descripción Devuelve la fecha en la que se solicitó por última vez el consentimiento.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se devuelve la fecha de la última llamada.
Regreso Valor:
- Una fecha que representa la fecha de la última llamada o nulo si no se encontró ninguna fecha.
llamadoEsteDía(contexto: Contexto): Booleano
Descripción Comprueba si el consentimiento se solicitó el mismo día.
parámetros:
- contexto (tipo: Contexto): El contexto en el que se ejecuta la comprobación.
Regreso Valor:
- verdadero si el consentimiento se solicitó el mismo día, falso en caso contrario.
Preferencias compartidas
El SDK establecerá los valores de preferencias compartidas para IAB TCF v1, IAB TCF v2, IAB USPrivacy y Google AC String. Estos valores se pueden leer utilizando el siguiente código:
Context mContext = getApplicationContext();
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
SharedPreferences.OnSharedPreferenceChangeListener mListener;
mListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals([Specific Consent Key])) {
// Update Consent settings
}
}
};
mPreferences.registerOnSharedPreferenceChangeListener(mListener);
Se definen las siguientes claves:
IAB TCF v1 | |
IABConsent_CMPPresent |
Boolean : Se establece en verdadero si un CMP que implementa esta especificación está presente en la aplicación. Idealmente establecido por el editor lo antes posible, pero también puede ser configurado por el CMP alternativamente. |
IABConsent_SubjectToGDPR |
String 1 - (sujeto a GDPR), 0 - (no sujeto a GDPR), Nulo - indeterminado (predeterminado antes de la inicialización). Se alinea con IAB OpenRTB GDPR Advisory. Decidió ser String, tener el estado no inicializado. |
IABConsent_ConsentString |
String : Cadena de consentimiento |
IABConsent_ParsedPurposeConsents |
String (de "0" y "1") donde el carácter en la posición N indica el estado de consentimiento para la ID de propósito N como se define en la Lista global de proveedores. Cadena de consentimiento otorgado para permitir una verificación simple. El primer personaje de la izquierda es el Propósito 1, ... |
IABConsent_ParsedVendorConsents |
String (de "0" y "1") donde el carácter en la posición N indica el estado de consentimiento para la identificación del proveedor N como se define en la Lista global de proveedores. Cadena de consentimiento otorgado para permitir una verificación simple. El primer personaje de la izquierda es el Vendedor 1, ... |
IAB TCF v2 | |
IABTCF_CmpSdkID |
Number : El ID entero sin signo del SDK de CMP |
IABTCF_CmpSdkVersion |
Number : El número de versión entero sin signo de CMP SDK |
IABTCF_PolicyVersion |
Number : El entero sin signo que representa la versión del TCF a la que se adhieren estos consentimientos. |
IABTCF_gdprApplies |
Number :
Desarmado - indeterminado (predeterminado antes de la inicialización) |
IABTCF_PublisherCC |
String : Código de dos letras ISO 3166-1 alfa-2 - Defecto: AA (desconocido) |
IABTCF_PurposeOneTreatment |
Number :
Desestablecer predeterminado - Los proveedores pueden usar este valor para determinar si se requiere el consentimiento para el propósito uno. |
IABTCF_UseNonStandardStacks |
Number :
|
IABTCF_TCString |
String : Cadena TC codificada completa |
IABTCF_VendorConsents |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento para la identificación del proveedor n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para la identificación del proveedor 1
|
IABTCF_VendorLegitimateInterests |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo para la identificación del proveedor n + 1; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para la identificación del proveedor 1
|
IABTCF_PurposeConsents |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento para la identificación del propósito n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para fines de identificación 1
|
IABTCF_PurposeLegitimateInterests |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo para la identificación del propósito n + 1; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para fines de identificación 1
|
IABTCF_SpecialFeaturesOptIns |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de suscripción para ID de función especial n + 1; false y true respectivamente. p.ej. '1' en el índice 0 es opt-in true para ID de función especial 1
|
IABTCF_PublisherRestrictions{ID} |
String ['0','1', or '2'] : El valor en la posición n - dónde nLa indexación comienza en 0 - indica el tipo de restricción del editor (0-2) para el proveedor n + 1; (consulte Tipos de restricciones de editor). p.ej. '2' en el índice 0 es restrictionType 2 para la identificación del proveedor 1 . {ID} se refiere a la identificación del propósito. |
IABTCF_PublisherConsent |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento del propósito para la identificación del propósito n + 1 para el editor, ya que corresponden a los propósitos de la Lista global de proveedores; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para fines de identificación 1
|
IABTCF_PublisherLegitimateInterests |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo del propósito para la identificación del propósito n + 1 para el editor, ya que corresponden a los propósitos de la Lista global de proveedores; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para fines de identificación 1
|
IABTCF_PublisherCustomPurposesConsents |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de consentimiento del propósito para la ID de propósito personalizado del editor n + 1 para el editor; false y true respectivamente. p.ej. '1' en el índice 0 es consentimiento true para ID de propósito personalizado 1
|
IABTCF_PublisherCustomPurposesLegitimateInterests |
Binary String : Los '0' or '1' en la posición n - dónde nLa indexación comienza en 0 - indica el estado de interés legítimo de propósito para la identificación de propósito personalizado del editor n + 1 para el editor; false y true respectivamente. p.ej. '1' en el índice 0 se establece un interés legítimo true para ID de propósito personalizado 1
|
IAB USPrivacidad | |
IABUSPrivacy_String |
String : Se alinea con el IAB OpenRTB CCPA Advisory. La cadena codifica todas las opciones e información. |
Cadena AC de Google | |
IABTCF_AddtlConsent |
|
(Obsoleto) Bloqueo de contenido dinámico con marcador de posición webView
Esta función ha quedado obsoleta y se eliminará en el futuro. El motivo de la obsolescencia es que con la habilitación y deshabilitación de las API de propósito y proveedor, ya no es necesario crear un marcador de posición. Puede agregar su propia interfaz de usuario y su propia lógica comercial y activar y desactivar proveedores dinámicamente. En lugar de usar esta función, debe usar el enableVendorList() y deshabilitar lista de proveedores () funciones para administrar qué proveedores están habilitados o deshabilitados, y cree su propia interfaz de usuario para mostrar esta información al usuario.
El viewObject de marcador de posición se puede implementar para obtener la funcionalidad de bloqueo de contenido dinámico aquíPuede crear la vista con el siguiente método:
CMPPlaceholder placeholderView = CMPConsentTool.createPlaceholder(getApplicationContext(),CMPPlaceholderParams
.ofVendor("${vendorId}"), new CMPPlaceholderEventListener() {
@Override
public void vendorAccepted(WebView view) {
//... Actions to trigger if Consent is accepted
// Like showing Youtube Video View
}
});
Con el objeto Wrapper CMPPlaceholderParams
también puede pasar parámetros opcionales como textos personalizados o una imagen de vista previa opcional. Las funciones del constructor se llaman setCustomplaceholder(String headline, String mainText, String checkboxText, String buttonText)
y setOptionalImageUrl(String imageUrl)
.
La lógica empresarial requerida, cuando desee mostrar la vista y cuando no necesite ser aplicada por el desarrollador. Puede pasar la condición y las acciones necesarias mediante las devoluciones de llamada de EvenListener del CMPPlaceholderEventlistener
. Se debe implementar el siguiente evento requerido:
Necesario: vendorAccepted(CMPPlaceholderView view) { // Your logic }
Opcional: errorOccurred(String message) { // Error handling }
Descripción general de la API (versiones anteriores)
API |
parámetros | Retorno |
Descripción
|
openCmpConsentToolView( Contexto de contexto ) |
contexto: El contexto de la aplicación | vacío | Muestra una vista modal con la vista web de consentimiento. Si el Cumplimiento es aceptado o rechazado, se llamará a una función de cierre. Puede anular esta función de cierre con la suya propia. Por lo tanto, implemente OnCloseCallback y agréguelo como parámetro. Interfaz de usuario de @apiNote -> ejemplo: Abrir capa mediante acción de botón |
openCmpConsentToolView( contexto contexto, Devolución de llamada OnCloseCallback ) |
contexto: El contexto de la aplicación
llamar de vuelta: OnCloseCallback que debe llamarse cuando la vista web se cierra por acción
|
vacío | Muestra una vista modal con la vista web de consentimiento. Si el Cumplimiento es aceptado o rechazado, se llamará a una función de cierre. Puede anular esta función de cierre con la suya propia. Por lo tanto, implemente OnCloseCallback y déselo a esta función. Este método no volverá a enviar una solicitud al servidor consentTool. Utilizará el último estado. Si solo desea volver a abrir la Vista de herramienta de consentimiento, si el servidor da un estado de respuesta == 1, use el método checkAndProceedConsentUpdate Interfaz de usuario @apiNote -> ejemplo: Abrir capa por acción de botón |
setCloseCmpConsentToolViewListener( Devolución de llamada OnCloseCallback ) |
llamar de vuelta: OnCloseCallback que debe llamarse cuando la vista web se cierra por acción | vacío | Establece un oyente. Si el Cumplimiento es aceptado o rechazado, se llamará a esta función. Puede anular esta función de cierre con la suya propia. Por lo tanto, implemente OnCloseCallback y agréguelo como parámetro. |
setCustomCmpConsentToolViewAction( CustomOpenActionCallback customAction ) |
acción personalizada: La acción personalizada que se debe llamar, además de mostrar la herramienta de consentimiento | vacío | Establece una acción personalizada para una respuesta del servidor. |
setErrorDialogCmpConsentToolViewListener( Devolución de llamada OnErrorDialogCallback ) |
llamar de vuelta: El OnOpenCallback, que debe llamarse, cuando se abrirá la Vista. | vacío | Establece un oyente. Si se abre la Vista de cumplimiento, se llamará a esta función. Puede anular esta función abierta con la suya propia. Por lo tanto, implemente OnOpenCallback y agréguelo como parámetro. |
setNetworkErrorExceptionListener( Devolución de llamada OnNetworkExceptionCallback ) |
llamar de vuelta: OnErrorNetworkCallback que debe llamarse. | vacío | Establece un agente de escucha al que se llama si se produce un error de red. |
setOnCMPNotOpenedCallback( OnCMPNotOpenedCallback devolución de llamada ) |
llamar de vuelta: La acción cmpNotOpenedCallback que será llamada | vacío | Establece una acción cuando el Consentlayer no se va a abrir |
setOpenCmpConsentToolViewListener( contexto contexto, Botón gdprBotón ) |
contexto: Entonces Contexto de la aplicación botón gdpr: El botón, el openCmpConsentToolViewListener debe agregarse a |
vacío | Establece un oyente en el botón dado. Si se hace clic en el botón, se mostrará una vista modal con la vista web de consentimiento. Si el Cumplimiento es aceptado o rechazado, se llamará a una función de cierre. Puede anular esta función de cierre con la suya propia. Por lo tanto, implemente OnCloseCallback y agréguelo como otro parámetro. Si el parámetro no está configurado, pero se usó setCloseCmpConsentToolViewListener para agregar un oyente al evento de cierre, se usará este. |
setOpenCmpConsentToolViewListener( contexto contexto, botón gdpr, Devolución de llamada OnCloseCallback ) |
contexto: El contexto de la aplicación botón gdpr: El botón, el openCmpConsentToolViewListener debe agregarse a
llamar de vuelta: OnCloseCallback que debe llamarse cuando la vista web se cierra por acción |
vacío | Establece un oyente en el botón dado. Si se hace clic en el botón, se mostrará una vista modal con la vista web de consentimiento. Si el Cumplimiento es aceptado o rechazado, se llamará a una función de cierre. Puede anular esta función de cierre con la suya propia. Por lo tanto, implemente OnCloseCallback y agréguelo como último parámetro. |
setOpenCmpConsentToolViewListener( Devolución de llamada OnCloseCallback ) |
llamar de vuelta: OnCloseCallback que debe llamarse cuando la vista web se cierra por acción |
vacío | Establece un oyente. Si se abre la Vista de cumplimiento, se llamará a esta función. Puede anular esta función abierta con la suya propia. Por lo tanto, implemente OnOpenCallback y agréguelo como parámetro. |
setOpenPlaceHolderViewListener( contexto contexto, botón botón, vendedor de cuerdas ) |
contexto: El contexto de la aplicación .: Un botón de acción para crear la vista de marcador de posición vendedor: El proveedor que está asignado al marcador de posición |
vacío | Abre la vista de marcador de posición al hacer clic en el botón para el proveedor asignado |
|
|||
llamadoEsteDía( contexto contexto) |
contexto: El contexto de la aplicación |
booleano: si el servidor ya fue contactado este día | Devuelve si el servidor ya fue contactado ese día. |
clearAllValues(contexto contexto) |
contexto: El contexto de la aplicación |
vacío | Restablece los datos de consentimiento |
crear marcador de posición ( contexto contexto, CMPPlaceholderParams cmpPlaceholderParams, CmpPlaceholderEventListener cmpPlaceholderEventListener) |
contexto: El contexto de la aplicación cmpPlaceholderParams: asignar parámetros de marcador de posición requeridos cmpPlaceholderEventListener: Interfaz EventListener para funciones de proceso personalizadas |
CmpMarcador de posición: UIView del marcador de posición | Crea una vista de marcador de posición para el bloqueo de contenido dinámico |
exportCMPData(Contexto contexto) |
contexto: El contexto de la aplicación |
Cordón: La cadena de consentimiento | Una función de exportación a la que se puede llamar para exportar la cadena de consentimiento completa generada por ConsentWebView y guardada en las Preferencias compartidas de este dispositivo. |
getCalledLast (contexto contextual) |
contexto: El contexto de la aplicación |
Fecha: fecha en que se llamó al servidor por última vez | Proporciona información sobre la última fecha en que se contactó con el servidor. |
getConfig() |
|
CMPConfig: Objeto CMPConfig |
Devuelve el CMPConfig que está configurado actualmente |
getGoogleACString() |
contexto: El contexto de la aplicación |
Cordón: cadena de proveedores de privacidad de EE. UU. que se estableció a través de consentmanager |
Devuelve la cadena de privacidad de EE. UU., establecida por consentmanager |
obtener Instancia() |
|
CMPConsentTool: El instante singleton inicializado del consentmanager |
Devuelve el CMPConsentTool. Si no ha inicializado el CMPConsentTool antes, se lanzará la excepción CMPConsentToolInitialisation Exception. |
getInstanceUnsafe() |
|
CMPConsentTool: el instante singleton inicializado del consent Manager, o nulo. |
Devuelve el CMPConsentTool, o nulo si no se inicializó. Este método no es seguro porque puede dar lugar a excepciones de puntero nulo, pero si está seguro de que ConsentTool se inicializó antes, puede utilizar este método sin necesidad de detectar el error. Recomendamos guardar el Objeto devuelto desde el Método createInstant, para usar los Métodos del consentManager. |
getLastConsentString( contexto contexto) |
contexto: El contexto de la aplicación |
Cordón: La última cadena de consentimiento establecida |
Devuelve el último Consentimiento dado, presentado en base64 por consentManager |
getPurposes (contexto contextual) |
contexto: El contexto de la aplicación |
Cordón: La Cadena de propósitos que se fijó a través de consentmanager |
Devuelve la cadena de propósitos establecida por consentmanager |
getUSPrivacyString (contexto contextual) |
contexto: El contexto de la aplicación |
Cordón: La cadena de proveedores de privacidad de EE. UU. que se estableció a través de consentmanager |
Devuelve la cadena de privacidad de EE. UU., establecida por consentmanager |
getVendorsString (contexto contextual) |
contexto: El contexto de la aplicación |
Cordón: La cadena de proveedores que se estableció a través de consentmanager |
Devuelve la Cadena de proveedor, que fue establecida por consentmanager |
hasPurposeConsent(contexto contexto, ID de cadena, booleano isIABPurpose) |
contexto: el contexto de la aplicación id: El id del propósito esIABPropósito: Si el propósito está establecido por el estándar IAB (V1/V2) |
booleano: Si la finalidad tiene el consentimiento para establecer cookies |
Devoluciones, si el propósito (id) tiene los derechos para establecer cookies. Atención: La identificación del propósito es la misma que se muestra en la lista de propósitos y puede tener un prefijo como C |
tieneConsentimientoDeVendedor( contexto contexto, ID de cadena, booleano isIABVendor) |
contexto: El contexto de la aplicación id: La identificación del vendedor esIABVendor: si el proveedor está establecido por el estándar IAB (V1/V2) |
booleano: Si el Vendedor tiene el Consentimiento para establecer cookies. |
Devoluciones, si el Proveedor (id) tiene los derechos para establecer cookies
Atención: La identificación del proveedor es la misma que se muestra en la lista de proveedores y puede tener un prefijo como C, S |
importarCMPData( contexto contexto, Cadena cmpData ) |
contexto: El contexto de la aplicación cmpData: la cadena que se establecerá. La cadena de consentimiento debe pasarse como base64 codificada |
booleano: Si la importación se realizó correctamente o si se producen errores en la cadena |
Un método de importación al que se puede llamar para importar la cadena de consentimiento completa generada por ConsentWebView en las Preferencias compartidas de este dispositivo. |
necesidadesAceptación(Contexto contexto) |
contexto: El contexto de la aplicación |
booleano: si el usuario necesita dar su consentimiento |
Devuelve si el usuario necesita dar un consentimiento, porque no lo hizo en el pasado, o porque el servidor de consentimiento devolvió, que se requiere un nuevo consentimiento |
necesita Actualización del servidor (contexto contextual) |
contexto: El contexto de la aplicación |
booleano: Si el consentmanager necesita ser actualizado |
Si los CMPSettings necesitan ser actualizados desde el servidor, porque no lo estaban en este día. |
|
|
|
|