SDK read
- Android:
AppActor.getExperiment("onboarding_paywall") - Flutter:
AppActor.instance.getExperiment('onboarding_paywall') - React Native:
AppActor.instance.getExperiment('onboarding_paywall')(get(key)instead of a subscript)
isEnrolled is false and every typed getter returns the default you pass — control renders with no extra branch. The raw assignment below is available as .assignment (null in that case), or directly from getExperimentAssignment.
Assignment fields
Use
experimentKey to decide where in the app the assignment belongs. Use variantKey for analytics labels and debug output. Use payload to render the actual experience.
Render safely
- the experiment is paused or stopped
- the user is outside the traffic allocation
- the payload type does not match the code path
- identity changes and a new customer has no assignment yet
- the network is unavailable before the SDK has a cached assignment
Remote Config relationship
Remote Config and Experiments can share a payload shape, but they are separate reads:
Use Remote Config for stable server-driven behavior. Use Experiments when assignment and analysis matter.
Splitting Rules
See how AppActor gates traffic and assigns variants deterministically.