ReviewEligibility

Pure engagement-gating logic for the in-app review prompt.

A prompt is eligible only when ALL hold:

No platform deps, the counters live in a ReviewState supplied by the caller (persisted however the app likes — DataStore, NSUserDefaults, …), so this is trivially unit-testable.

Functions

Link copied to clipboard
fun isEligible(state: ReviewState, nowMillis: Long, config: ReviewGateConfig = ReviewGateConfig()): Boolean