Skip to main content
Launch configurations are reusable values applied when Revyl starts your app. Each named configuration has one type:
  • Environment variable stores one key-value pair. Android receives it as a string Intent extra. iOS receives the compatible -KEY value argument pair.
  • iOS argument set stores an exact ordered list of argument tokens. Revyl passes those tokens unchanged to iOS simulators and physical devices. Android does not receive them.

Common Use Cases

  • Auth bypass tokens: skip OAuth flows by injecting a pre-issued test token, so every test starts authenticated without clicking through a login screen
  • Feature flags: turn specific features on or off for testing before flipping them for real users
  • Custom testing flags: enable test-only debug menus, mock data modes, or skip animations for faster, more deterministic runs
  • Environment URLs: point your app at staging, dev, or a local tunnel without rebuilding
  • API keys and secrets: credentials your app reads at startup, without baking them into the binary

Create A Launch Configuration

  1. Go to Library > Launch Configurations.
  2. Click New launch configuration.
  3. Enter a name and choose Environment variable or iOS argument set.
  4. Enter the value, or type launch arguments as one command line: --mode staging --debug. Quote a value that contains spaces, such as --name "Ada Lovelace". The preview under the field shows the exact ordered tokens your app receives.
  5. Turn on Secret for credentials or tokens, then save.
Attach configurations to a test in its Launch Configuration section. The attachment order is significant: Revyl flattens attached argument sets in that order. Runtime-selected sets follow in flag order, and inline tokens are appended last. On iOS, all explicit argument tokens precede the legacy -KEY value pairs generated from environment-variable configurations. Android test and session forms hide iOS argument sets. An Android-only API or CLI run rejects explicit iOS arguments. A mixed-platform workflow applies them to iOS children and skips them for Android children.

Sensitive Values

An environment value or an entire iOS argument set can be marked secret. Revyl encrypts secret payloads, masks them in the Library and immutable execution snapshot, and scrubs the individual values or tokens from worker diagnostics. Secret payloads can only be replaced, not viewed. Non-secret payloads remain visible in both the Library and the execution report’s launch snapshot. Changing a non-secret variable to secret protects future runs, but does not rewrite report history. Changing a secret variable to non-secret requires a replacement value because Revyl never reveals the existing secret.

Launch Configuration vs Global Variables

These serve different purposes:

CLI And Session Overrides

Select a stored environment configuration with repeatable --launch-var and a stored iOS argument set with repeatable --launch-arg-set. Add exact inline tokens with repeatable --launch-arg=<token>:
Inline environment values and argument tokens are non-secret. Do not place credentials in them because they can appear in shell history, process arguments, and execution reports. For Expo cloud-agent runs, launch vars pair well with a test-only auth deep link: start revyl dev with --launch-var, then send the app-specific auth link with revyl device navigate. See Auth Bypass Deep Links for the full flow.