ConsentPolicy class
Declarative configuration for the consent gate.
This is liquid's flagship feature: it makes GDPR-style opt-in the default so that no analytics leave the device until the user agrees. You describe which sinks belong to which category, whether consent is opt-in or opt-out, and what to do with events emitted before the user decides.
- Annotations
Constructors
-
ConsentPolicy({bool requireOptIn = true, Map<
ConsentCategory, List< map = const {}, bool bufferUntilDecision = true, int maxBuffer = 200, Map<String> >ConsentCategory, ConsentStatus> defaults = const {}}) -
Creates a consent policy.
const
Properties
- bufferUntilDecision → bool
-
When
true, events emitted while a category is still ConsentStatus.unknown are buffered and replayed if/when the user grants consent (up to maxBuffer). Whenfalse, such events are dropped.final -
defaults
→ Map<
ConsentCategory, ConsentStatus> -
Optional initial status per category (e.g. seed from stored preferences).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
map
→ Map<
ConsentCategory, List< String> > -
Maps a category to the ids of the sinks that belong to it.
final
- maxBuffer → int
-
The maximum number of buffered messages to retain (oldest dropped first).
final
- requireOptIn → bool
-
When
true(default), a category whose status is ConsentStatus.unknown is treated as denied — nothing is sent until the user opts in. Whenfalse, unknown is treated as granted (opt-out).final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- allowAll → const ConsentPolicy
- A permissive policy: everything is treated as granted. Use only where you have a lawful basis that does not require opt-in.