Menu de la documentation

SDK mobile (bêta) : Android et iOS

Recueillir, appliquer et prouver le consentement dans vos apps, avec le même contrat que le web.

Voir en Markdown
Mis à jour le

Principe

Le SDK mobile FlowConsent (bêta) est un SDK de décision et de preuve, pas une UI imposée : votre app garde son écran de consentement, le SDK gère l'état (même contrat v1 que le cookie web), la propagation aux SDK tiers et la preuve — chaque choix apparaît dans votre Consent Registry comme un consentement web, et déclenche vos webhooks.

Installation

Android — publié sur Maven Central :

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

iOS — via Swift Package Manager :

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

Le code source est ouvert : github.com/BeBranded-xyz/flowconsent-mobile, avec des apps démo copiables pour Android (Compose) et iOS (SwiftUI).

Android (Kotlin)

kotlin
FlowConsent.configure(context, licenseCode = "XXXX-…", workerUrl = "https://….consent.flowconsent.com")
 
val decision = FlowConsent.readConsent()
if (!decision.hasValidConsent) showMyConsentScreen()
 
// après le choix de l'utilisateur :
val d = FlowConsent.setConsent(analytics = true, marketing = false)
firebaseAnalytics.setConsent(ConsentContract.toGoogleConsentMap(d)) // si votre app utilise Firebase

Refus par défaut : sans enregistrement (ou périmé, ou après un changement de configuration de la bannière — fetchRemoteConfig()), tout est refusé avec une raison explicite. Identifiant pseudonyme local (jamais IDFA/GAID).

iOS (Swift Package)

FlowConsentCore expose le même moteur (ConsentContract.parse, toGoogleConsentMap) plus la doctrine App Tracking Transparency :

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

Règle : écran RGPD d'abord ; le prompt ATT ne se justifie que si le marketing a été accepté, et c'est toujours votre app qui le déclenche.

Firebase est-il requis ?

Non. Le SDK n'importe aucun SDK tiers : toGoogleConsentMap() renvoie une simple table de chaînes à passer à setConsent si votre app utilise Firebase/GA4. Sans Firebase, utilisez decision.can("analytics") pour conditionner vos propres appels.