Biscotti CMP — Flutter SDK

Native Flutter consent-management SDK for Biscotti CMP, with IAB TCF 2.3 support (CMP ID 497), consent-gated SDK initialisation, App Tracking Transparency coordination (iOS), offline queueing and consent sync.

  • Package: biscotti_cmp · Platforms: Android, iOS · Dart 3.2+ / Flutter 3.16+

Installation

# pubspec.yaml
dependencies:
  biscotti_cmp: ^1.1.3
flutter pub get

Usage

import 'package:biscotti_cmp/biscotti_cmp.dart';

// Configure early (e.g. in main()) — configure() is async
await BiscottiCMP.instance.configure(
  websiteId: 'YOUR_WEBSITE_ID',
  apiKey: 'OPTIONAL',
);

// Show the dialog once a BuildContext exists.
await BiscottiCMP.instance.showConsentDialog(context);

// Gate third-party SDKs behind consent
BiscottiCMP.instance.registerSDK(
  name: 'firebase_analytics',
  category: ConsentCategory.analytics,
  initializer: () => FirebaseAnalytics.instance,
);

// Read consent (synchronous, from local cache)
final granted = BiscottiCMP.instance.hasConsent(ConsentCategory.marketing);
final tcString = BiscottiCMP.instance.getConsentToken();

Temporarily running without IAB TCF in a mobile app

CMP ID 497 is currently registered for the Web environment. For a native app, create a separate Mobile App property in the Biscotti dashboard, disable IAB TCF on that child property, and pass its own website ID to configure(). Do not disable TCF on the website property used by your web banner: tcfEnabled is website-scoped and would affect every client using that ID.

There is intentionally no app-side switch that can turn a TCF-enabled server configuration into a non-TCF notice. With TCF disabled on the mobile property, the SDK still collects and syncs the four consent categories, but renders no TCF detail layer, generates no TC String, and removes all IABTCF storage keys.

await BiscottiCMP.instance.configure(
  websiteId: 'MOBILE_APP_CHILD_WEBSITE_ID',
  language: 'de', // optional
);

TCF 2.3

Emits a spec-compliant IAB TC string (CMP ID 497, policy version 5, service-specific) including vendor consents / legitimate interests and the disclosed-vendors segment, derived from your per-site Biscotti configuration.

License

MIT — see LICENSE.

Libraries

biscotti_cmp
Biscotti CMP Flutter SDK — native consent management with IAB TCF 2.3 compliance.