Menú de la documentación

SDK móvil (beta): Android e iOS

Recoger, aplicar y probar el consentimiento en tus apps, con el mismo contrato que la web.

Ver como Markdown
Actualizado el

Principio

El SDK móvil de FlowConsent (beta) es un SDK de decisión y prueba, no una UI impuesta: tu app conserva su propia pantalla de consentimiento, el SDK gestiona el estado (el mismo contrato v1 que la cookie web), la propagación a los SDK de terceros y la prueba — cada elección aparece en tu Consent Registry como un consentimiento web, y dispara tus webhooks.

Instalación

Android — publicado en Maven Central:

kotlin
dependencies {
    implementation("com.flowconsent:flowconsent-android:0.1.0")
}

iOS — vía Swift Package Manager:

swift
.package(url: "https://github.com/BeBranded-xyz/flowconsent-mobile", exact: "0.1.0")

El código fuente es abierto: github.com/BeBranded-xyz/flowconsent-mobile, con apps de demostración copiables para Android (Compose) e iOS (SwiftUI).

Android (Kotlin)

kotlin
FlowConsent.configure(context, licenseCode = "XXXX-…", workerUrl = "https://….consent.flowconsent.com")
 
val decision = FlowConsent.readConsent()
if (!decision.hasValidConsent) showMyConsentScreen()
 
// tras la elección del usuario:
val d = FlowConsent.setConsent(analytics = true, marketing = false)
firebaseAnalytics.setConsent(ConsentContract.toGoogleConsentMap(d)) // si tu app usa Firebase

Rechazo por defecto: sin registro (o caducado, o tras un cambio de configuración del banner — fetchRemoteConfig()), todo queda rechazado con una razón explícita. Identificador pseudónimo local (nunca IDFA/GAID).

iOS (Swift Package)

FlowConsentCore expone el mismo motor (ConsentContract.parse, toGoogleConsentMap) más la doctrina App Tracking Transparency:

swift
if ConsentContract.shouldRequestATT(decision) {
    ATTrackingManager.requestTrackingAuthorization { _ in }
}

Regla: pantalla RGPD primero; el prompt de ATT solo se justifica si el marketing fue aceptado, y siempre es tu app quien lo dispara.

¿Es necesario Firebase?

No. El SDK no importa ningún SDK de terceros: toGoogleConsentMap() devuelve una simple tabla de cadenas que pasar a setConsent si tu app usa Firebase/GA4. Sin Firebase, usa decision.can("analytics") para condicionar tus propias llamadas.