Flutter exposes experiment assignment as a separate surface from Remote Config.
getExperiment never returns null. When the customer is not in the experiment, isEnrolled is false, variantKey is null, and every typed getter (boolValue, stringValue, intValue, doubleValue with a defaultValue:, and experiment['key'] for JSON payloads) returns your default — so control renders with no null-check or cast. The raw nullable assignment is .assignment (or getExperimentAssignment). Use assignments for:
  • paywall variants
  • onboarding route tests
  • offer emphasis tests
  • holdout groups

Implementation pattern

  1. Configure AppActor.
  2. Fetch offerings or Remote Config if the screen needs them.
  3. Resolve the experiment assignment for the placement.
  4. Render the variant in Flutter.
  5. Gate access from customer entitlements.

Identity and cache

Re-resolve assignment when identity changes. Do not reuse a previous user’s assignment after logIn, logOut, or reset.

Launch Experiments

Read the product-level experiment launch checklist.