FrequencyEvaluator class

Frequency-capping core — pure, platform-free logic. Dart port of Android's FrequencyEvaluator, sharing the identical golden matrix across platforms. now and sessionId are injected so the logic is fully deterministic and unit-testable.

Properties

hashCode int
The hash code for this object.
no setterinherited
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

Static Methods

evaluate(FrequencyPolicy policy, FrequencyState? state, int now, String? sessionId) FrequencyEvalResult
Pure eligibility check. Blocks if ANY active constraint is exceeded: permanent stop, lifetime total, or the current window.
recordShow(FrequencyPolicy policy, FrequencyState? state, int now, String? sessionId) FrequencyState
Record one show on "Digia Experience Viewed". Bumps the lifetime total and the window count, re-anchoring the window when it has rolled over.
recordStop(FrequencyState? state, int now) FrequencyState
Permanently stop the campaign on "Digia Experience Completed" when the policy opted into stopOn. Idempotent: the first stop timestamp wins.