premium.
Basic access check
High-trust access check
If the feature is expensive, server-backed, or abuse-prone, also check verification state.Entitlement status matrix
SDK helpers already encode this active-access rule. If you are reading raw backend user data, check
isActive or explicitly allow only active and valid grace.
When to refresh customer info
Refresh customer info after:- app configure or sign-in
- purchase success
- restore success
- quiet sync
- receipt queue drain
- returning online after offline access
- support-driven account recovery
Offline fallback
Use offline entitlement keys for continuity, not as fresh billing truth.getCustomerInfo() once the network returns.
Rules of thumb
- use entitlement keys like
premiumorprofor access - do not unlock premium from the selected package alone
- refresh customer info after purchase and recovery flows
- handle cached or offline-computed customer state intentionally
- check
verificationfor high-trust access - protect backend resources with your backend, not with mobile-only checks