What the SDK returns
The SDK returns resolved config items:
The response is already resolved for the current app context. The SDK does not need to evaluate rules locally.
Cache layers
SDK implementations use the same product contract with platform-specific caching:
iOS keeps a short memory TTL and can fall back to disk cache on network or server errors after a successful fetch. Wrapper SDKs expose the same resolved item model from the native layer.
Cold start fallback
The app must still own a local default for required UI decisions:User context
Some Remote Config rules need entitlement state. When a config requires user context, the SDK can refetch with the current user so AppActor can evaluate active entitlements before returning the value. This matters when:- premium users should see a different upsell
- expired users should see win-back copy
- trial users should not receive a purchase CTA meant for free users
Debug checklist
When a value looks wrong, check:- whether the config is active
- whether a more specific app or platform scope overrides the project value
- whether an earlier priority rule matched first
- whether app version and country are present in the request context
- whether entitlement-based rules need a configured user
- whether the client is reading a stale cached value during a short TTL window
AppActor’s current SDK contract is cache-backed plus app-owned local defaults, not a separate downloadable fallback-file API.