Rheo documentation
Core concepts

Channel

Routing surfaces that map SDK traffic to a published flow or experiment per environment.

Purpose

A channel is a named routing surface in either the test or live environment. Your mobile app tells the SDK which channel to use; Rheo serves whichever published flow version (or experiment) is assigned to that channel. Changing the assignment updates what users receive on their next session—without shipping a new app build.

Channels let you expose flows to QA, staged cohorts, or production users without embedding flow content in your app binary.

How routing works

The SDK needs two pieces of configuration:

  1. Publishable key — Selects the app and environment (test or live). You copy this from App settings → API keys.
  2. Channel ID — Selects which channel within that environment. Each channel has a public ID you pass to the SDK.

The SDK does not send a flow ID. Rheo decides which published flow (or experiment variant) to serve based on the channel's current assignment:

AssignmentBehavior
DirectServes the pinned published flow version
ExperimentBuckets the user across variant arms on that channel

When you change an assignment, clients pick up the new flow on their next resolve. The SDK caches content efficiently so unchanged assignments do not re-download unnecessarily.

How to manage channels

Open Channels inside your app to create channels, assign flows, and review assignment history. If your workspace uses rollout approvals, assignment changes may enter a request queue before they go live.

Channels list showing environment tabs (test/live), channel names, and current flow assignment per channel