If you want the full setup from Studio to SDK initialization, start with Quick start. This page assumes Flowboard is already installed and initialized in your app.
launchOnboarding, but they open any published Flowboard flow.
For React Native and Expo, the examples below also assume your app is already wrapped in FlowboardProvider.
The two launch modes
| Method | What it does | Best for |
|---|---|---|
launchOnboarding() | Opens the default published flow resolved for the current app, device, and audience. | Normal production entry points where Studio should decide which flow to show. |
launchOnboardingById(...) | Fetches and opens one specific flow by ID. | QA, previews, campaigns, or app code that must always open one exact flow. |
launchOnboarding() uses the flow data resolved during Flowboard.init() and cached locally. launchOnboardingById(...) fetches the requested flow directly when you launch it.
React Native, Expo, and Flutter expose both launch modes directly today. The native iOS and Android SDKs are currently in beta, so the beta examples below focus on the default resolved launcher.
1. Launch the default resolved flow
Use this when Flowboard should decide which published flow to show based on your app identifiers, targeting rules, and rollout logic.- You do not hardcode a flow ID in the app
- Studio can swap the live flow without an app release
- Audience targeting and rollout rules stay in Flowboard
2. Launch a specific flow by ID
Use this when your app should always open one exact flow, such as a QA entry point, a preview button, a targeted campaign, or an internal test surface.- You already know the exact flow ID to open
- You need a fixed QA or preview route in the app
- You want to choose
liveordraftexplicitly during testing
Key differences
launchOnboarding()lets Flowboard resolve the live experience for the current user and app context.launchOnboardingById(...)skips that resolution step and requests one exact flow directly.launchOnboarding()is usually the best production default.launchOnboardingById(...)is better for controlled entry points, testing, and tooling.