csq library

Classes

AnalyticsOptions
CS-style analytics options layered over the existing CxorbiConfig surface.
CustomVar
Cxorbi
SDK facade. Consent-gated (opted OUT by default, like the native SDKs): nothing is captured or sent until optIn is called.
CxorbiCaptureBoundary
Explicit opt-in pixel capture boundary for complex visual surfaces.
CxorbiConfig
CxorbiFeedbackButton
A host-placeable entry point for the native feedback form — the on-pattern mobile alternative to the web's persistent floating button. Drop it wherever it is contextually the right action in YOUR app (a Settings/Help row, an app bar action, a menu item). Tapping it calls Cxorbi.showFeedback, which fetches an eligible feedback study and presents the bottom-sheet form.
CxorbiHttpOverrides
CxorbiMask
Wrap any subtree to force-mask its text in replay wireframes, regardless of the global masking mode (per-widget masking override). The frame walker detects it with a compile-time is CxorbiMask widget check, so it keeps working under flutter build --obfuscate.
CxorbiMaskingConfig
Fine-grained masking controls for replay wireframes.
CxorbiMetadata
CxorbiNavigatorObserver
Drop into MaterialApp.navigatorObservers — forwards named-route changes to Cxorbi.screen(). Manual Cxorbi.screen() calls always win (RN-parity route precedence); unnamed routes are ignored rather than guessed.
CxorbiQualityConfig
Researched degrade/recover thresholds for the QualityGovernor.
CxorbiSurveyCallbacks
Closure-bag variant of CxorbiSurveyDelegate for hosts that prefer callbacks.
CxorbiSurveyDelegate
Subclass-style survey lifecycle listener (Survicate SurvicateEventListener parity). All methods are optional no-ops.
CxorbiSurveyHost
Host-mounted seam that lets the SDK present surveys WITHOUT owning the app's Navigator. Wrap the app once at MaterialApp.builder (or the root):
CxorbiWebViewBinding
Handed to the CxorbiWebViewWrapper builder so the consumer can wire their own WebView (the SDK never depends on webview_flutter/flutter_inappwebview).
CxorbiWebViewWrapper
Wraps a consumer-owned WebView so its content is captured into the mobile session replay. The SDK provides the recorder + bridge name + inbound-message callback; the consumer builds their WebView and wires that one channel.
DesignSettings
DynamicVar
A session-scoped key/value label used to segment sessions in reporting — e.g. an A/B variant, plan tier or store id. Use DynamicVar.fromString for text labels (auto-complete / regex filtering) and DynamicVar.fromInt for numbers (range filtering). Keys are capped at 50 chars, string values at 255 chars, int values at 0..2³²−1; blank keys are ignored when added.
FeedbackResponse
What the user supplied in the feedback form — passed to the host lifecycle callbacks (onFeedbackSubmitted). text is the raw (un-scrubbed) comment as typed; the PII-scrubbed copy is what egresses on the wire.
FeedbackSettings
FeedbackStrings
Localizable SDK chrome strings for the native feedback form, mirroring the SurveyStrings host-override pattern. Feedback CONTENT (the question title, placeholder, category labels) comes from the study; these are only the SDK's own buttons/labels and the sentiment-face labels.
OrganizationSettings
Question
RecontactSettings
StartConfig
Start configuration for one-token onboarding.
Survey
SurveyStrings
Localizable SDK chrome strings (M8). Survey CONTENT (titles, options) is already localized server-side; these are only the SDK's own buttons/labels.
ThankYouCard
ThemeSettings

Enums

CxorbiEnvironment
The environment a build runs in. Stamped on every session so test/staging traffic can be told apart from production in Live Events. Default production; pair with debugMode to flag test traffic.
EmojiSet
EMOJI question icon set.
LogLevel
SDK diagnostic-log verbosity. A threshold model (industry idiom — Datadog CoreLoggerLevel, Sentry SentryLevel): a message prints when its severity is at or below the configured level. none silences every SDK log; verbose currently logs the same as debug and is reserved for finer future detail. The default is warn.
MaskingMode
Text masking mode — mirrors the dashboard's masking setting served by GET /sdk/config (mode: none | full | text | digits; default text).
QuestionType
The 11 backend question types (+ unknown forward-compat sentinel).
RecontactOption
Per-survey recontact frequency. once => never re-show after a response.

Constants

kCxorbiRecorderUrl → const String
Default CDN URL the recorder lazy-loads rrweb from when it isn't already present on the page. Override per wrapper for self-hosting / offline bundles.
kCxorbiWebBridge → const String
The JS-channel / handler name the consumer must register on their WebView so the injected recorder can post rrweb batches back to the SDK.
kDefaultBackgroundSessionTimeoutMs → const int
Privacy-safe fallback inactivity boundary when server policy is unavailable.
kDefaultSessionHeartbeatIntervalMs → const int
Default cadence for lightweight foreground session activity markers.

Typedefs

CxorbiMetadataListener = void Function(CxorbiMetadata metadata)