> For the complete documentation index, see [llms.txt](https://docs.wortise.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wortise.com/android-sdk/consentimiento-del-usuario.md).

# Consentimiento del usuario

El SDK de Wortise incluye soporte para el gestor de consentimiento (también llamado **Consent Manager** o **CMP**) de Google Ads para solicitar el consentimiento de cada usuario.

Obtener el consentimiento del usuario es importante para cumplir con las políticas de privacidad y optar a mayores CPM.

## Solicitar consentimiento

Para solicitar el consentimiento del usuario, es necesario llamar al método `ConsentManager.requestIfRequired` en un momento apropiado de la app. Esto mostrará un diálogo, solamente cuando sea totalmente necesario (normalmente en el primer arranque de la app), para que el usuario otorgue o deniegue su consentimiento.

También está disponible el método `ConsentManager.request` si se desea mostrar el diálogo siempre, y no exclusivamente cuando resulte necesario (por ejemplo, para ofrecer una opción en la pantalla de ajustes de la app que permita al usuario cambiar su consentimiento en cualquier momento).

### Ejemplo

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
// Ejemplo con WortiseSdk.initialize
WortiseSdk.initialize(this, "tu app key") {
    ConsentManager.requestIfRequired(this);
}

// Ejemplo con WortiseSdk.wait
WortiseSdk.wait {
    ConsentManager.requestIfRequired(this);
}
```

{% endtab %}

{% tab title="Java" %}

```java
// Ejemplo con WortiseSdk.initialize
WortiseSdk.initialize(this, "tu app key", () -> {
    ConsentManager.requestIfRequired(this);
    return Unit.INSTANCE;
});

// Ejemplo con WortiseSdk.wait
WortiseSdk.wait(() -> {
    ConsentManager.requestIfRequired(this);
    return Unit.INSTANCE;
});
```

{% endtab %}
{% endtabs %}

### Configuración de listener

Es posible pasar un listener, tanto a `request` como `requestIfRequired`, para conocer cuando la solicitud de consentimiento ha finalizado (y si la solicitud ha sido mostrada). Para ello, simplemente es necesario pasar un listener como último parámetro de ambos métodos:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
ConsentManager.requestIfRequired(this) { shown ->
    // Este listener será invocado cuando la solicitud finalice 
}
```

{% endtab %}

{% tab title="Java" %}

```java
ConsentManager.requestIfRequired(this, (shown) -> {
    // Este listener será invocado cuando la solicitud finalice 
    return Unit.INSTANCE;
});
```

{% endtab %}
{% endtabs %}
