useAdFrequency is the ad display frequency-control composable, generic for any frequency-capped ad slot (e.g. the SwAdPopup entry popup). It isn't tied to "splash" semantics. Decision records go through the framework's encrypted cache utils (useSession / useLocal auto-prefix cachePrefix + AES-encrypt; no raw storage).
Check shouldShow() first, then markShown() — markShown isn't called automatically on display; the business must mark explicitly after actually showing.
Keep key globally unique; use distinct keys for distinct ad slots, otherwise frequency records overwrite each other.