Overview
shipeasy-kotlin (ai.shipeasy:shipeasy-kotlin) is the server-side Shipeasy SDK for the JVM (and Android-compatible). It evaluates feature flags (gates),…
Generated from the SDK's own /docs/ — also served raw at
https://shipeasy-ai.github.io/sdk-kotlin/pages/overview.md.
shipeasy-kotlin (ai.shipeasy:shipeasy-kotlin) is the server-side Shipeasy
SDK for the JVM (and Android-compatible). It evaluates feature flags (gates),
dynamic configs, kill switches and A/B experiments locally against rule blobs
it fetches from the Shipeasy edge — no per-evaluation network call on the hot
path.
Mental model: configure() once, then Client(user)
import ai.shipeasy.configure
import ai.shipeasy.Client
// Once, at app boot.
configure(apiKey = System.getenv("SHIPEASY_SERVER_KEY"))
// Per request — cheap, no own connection/poll.
val flags = Client(currentUser)
flags.getFlag("new_checkout") // → Boolean (no user arg; user bound at construction)You learn exactly two things:
configure()(and its test/offline siblingsconfigureForTesting()/configureForOffline()) — call it once at app boot.Client(user)— the cheap, user-bound handle for every read:getFlag/getFlagDetail/getConfig/getKillswitch/getExperiment/track/logExposure.
The user (and the attributes transform you register at configure time) is bound
when you construct the Client, so its methods take no user argument. Construct a
Client per request/user — it is cheap and opens no connection, fetch, or poll of
its own.
A handful of top-level package functions cover everything else without naming a
heavyweight object: overrideFlag / overrideConfig / overrideExperiment /
clearOverrides, onChange, bootstrapScriptTag / i18nScriptTag, and the
see() family.
Feature reference
- Installation — Gradle/Maven dependency, runtime, imports, and the canonical
configure()reference. - Configuration —
configure()in full, theattributestransform, init/poll. - Flags —
getFlag/getFlagDetail. - Configs —
getConfig. - Kill switches —
getKillswitch. - Experiments —
getExperiment,ExperimentResult,track,logExposure. - i18n — SSR bootstrap + the client-side translation story.
- Error reporting —
see()structured error reporting. - Testing —
configureForTesting()/configureForOffline()+ the override helpers. - OpenFeature — provider availability.
- Advanced — private attributes, sticky bucketing, anon-id, manual exposure, SSR.