Remote Config is the AppActor surface for server-driven app behavior. It is separate from Experiments. A Remote Config is a keyed value your app can fetch at runtime. An Experiment can reuse the same payload shape, but it adds assignment, variants, traffic rules, and result analysis.
AppActor uses config keys as the app contract. Treat keys like main_paywall, onboarding_layout, or pricing_copy_v2 as the surface your SDK reads.

Use cases

  • change paywall copy or layout defaults
  • switch onboarding order or copy
  • expose a feature flag to a segment
  • tune purchase UI behavior without submitting a new app build
  • ship fallback-safe configuration for wrappers and native SDKs

Configuration model

Each AppActor Remote Config has: Scope lets one product team define a project default, override it for iOS or Android, and then override a single app when needed. If the same key exists in multiple scopes, AppActor serves the most specific matching scope.

Payload model

Remote Config payloads should stay simple enough for the app to consume safely: Use JSON when a screen needs a small bundle of related values. Use separate keys when independent parts of the app can roll forward or back separately.

Runtime contract

AppActor SDKs expose Remote Config as pull-based reads.
  1. Your app configures the SDK.
  2. Your app fetches a Remote Config snapshot.
  3. Your app reads typed values from the payload.
  4. Your app renders UI from those values.
  5. Your app keeps entitlement decisions tied to customer info, not to config alone.
The SDK receives resolved items: key, value, and valueType. Remote Config reads do not currently expose source or experiment metadata. Use Experiment assignment APIs when the app needs experiment identity.

Build the first config

  1. Choose a key that matches the app surface, for example main_paywall.
  2. Pick the value type before shipping client code.
  3. Add a conservative default value that the app can render safely.
  4. Add rules only after the default behavior works.
  5. Keep premium access checks tied to entitlements, not to Remote Config.

Product flow

Next steps

Rules and Targeting

Target Remote Config by store, app version, country, or entitlement.

Test and Launch

Validate config changes without inventing unsupported forced-user APIs.

Cache and Fallbacks

Understand SDK memory cache, disk cache, ETag, and local defaults.

Launch A/B test from Remote Config

Turn an existing configuration into a measured experiment.

SDK reads

iOS Remote Config

Fetch config snapshots and typed values from Swift.

Android Remote Config

Fetch config snapshots and cached values from Kotlin.

Flutter Remote Config

Use Dart wrapper reads for config values.

React Native Remote Config

Use JavaScript wrapper reads for config values.