# Mobile SDK (Beta): Android und iOS

Einwilligung in Apps erfassen, durchsetzen und nachweisen — mit demselben Vertrag wie im Web.

> Canonical: https://www.flowconsent.com/de/doc/mobile-sdk
> Last updated: 2026-07-31
## Prinzip

Das FlowConsent Mobile SDK (Beta) ist ein SDK für **Entscheidung und Nachweis**, keine aufgezwungene UI: Ihre App behält ihren eigenen Einwilligungs-Screen, das SDK verwaltet den Zustand (derselbe Vertrag v1 wie das Web-Cookie), die Weitergabe an Dritt-SDKs und den Nachweis — jede Wahl landet in Ihrem Consent Registry wie eine Web-Einwilligung und löst Ihre Webhooks aus.

## Installation

Android — veröffentlicht auf Maven Central:

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

iOS — über den Swift Package Manager:

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

Der Quellcode ist offen: [github.com/BeBranded-xyz/flowconsent-mobile](https://github.com/BeBranded-xyz/flowconsent-mobile), mit kopierbaren Demo-Apps für Android (Compose) und iOS (SwiftUI).

## Android (Kotlin)

```kotlin
FlowConsent.configure(context, licenseCode = "XXXX-…", workerUrl = "https://….consent.flowconsent.com")

val decision = FlowConsent.readConsent()
if (!decision.hasValidConsent) showMyConsentScreen()

// nach der Wahl des Nutzers:
val d = FlowConsent.setConsent(analytics = true, marketing = false)
firebaseAnalytics.setConsent(ConsentContract.toGoogleConsentMap(d)) // falls Ihre App Firebase nutzt
```

Ablehnung als Standard: Ohne Eintrag (oder wenn er veraltet ist, oder nach einer Änderung der Banner-Konfiguration — `fetchRemoteConfig()`) ist alles abgelehnt, mit explizitem Grund. Lokaler pseudonymer Identifikator (niemals IDFA/GAID).

## iOS (Swift Package)

`FlowConsentCore` liefert dieselbe Engine (`ConsentContract.parse`, `toGoogleConsentMap`) plus die App-Tracking-Transparency-Doktrin:

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

Regel: DSGVO-Screen zuerst; der ATT-Prompt ist nur gerechtfertigt, wenn Marketing akzeptiert wurde, und es ist immer Ihre App, die ihn auslöst.

## Ist Firebase erforderlich?

Nein. Das SDK importiert kein Dritt-SDK: `toGoogleConsentMap()` liefert eine einfache String-Map, die Sie an `setConsent` übergeben, **falls** Ihre App Firebase/GA4 nutzt. Ohne Firebase verwenden Sie `decision.can("analytics")`, um Ihre eigenen Aufrufe zu konditionieren.
