fireside_flutter library
Flutter plugin that embeds the Fireside Interview as a full-screen native modal, wrapping the Fireside Android and iOS SDKs.
The public surface is the locked MOBILE_SDK_API contract realized in
Dart: configure once with Fireside.init / Fireside.identify, launch an
interview with Fireside.present (resolving an InterviewResult), and
read per-participant state with Fireside.fetchInterviewStatuses (an
InterviewStatus map).
Classes
- FetchFailed
-
The call can't produce a map. Carries the shared FailureReason — the same
set
presentemits (nofetch-only reason): FailureReason.networkIssue, FailureReason.integrationError, or FailureReason.unexpected — each reason's meaning is documented on FailureReason itself. - FetchResult
- The terminal outcome of Fireside.fetchInterviewStatuses.
- FetchStatuses
-
The backend read succeeded. Carries a total map keyed by
studyId: every requested id has an entry and the SDK never returns null; a requested study that is not valid for this key comes back as InterviewStatus.unknownStudy. - Fireside
- Public API. The single global SDK instance is configured once at host startup via init; every later call references it, so host code never holds an SDK handle.
- InterviewCompletedNoReviewNeeded
- The participant submitted; no review gate — final. See InterviewResult.completedNoReviewNeeded.
- InterviewCompletedPendingReview
- The participant submitted; a review decision is pending. See InterviewResult.completedPendingReview.
- InterviewFailed
- The interview could not complete; reason says why.
- InterviewPermissionDenied
- Camera or microphone permission was denied and the interview cannot proceed. See InterviewResult.permissionDenied.
- InterviewResult
- The terminal outcome of Fireside.present.
- InterviewScreenedOut
- The participant did not qualify during screening. See InterviewResult.screenedOut.
- InterviewStatus
- A host-facing projection of Fireside-backend truth about one participant × study, read via Fireside.fetchInterviewStatuses.
- InterviewStatusCompletedNoReviewNeeded
- Submitted; no review gate — final. See InterviewStatus.completedNoReviewNeeded.
- InterviewStatusCompletedPendingReview
- Submitted; a review decision is pending. See InterviewStatus.completedPendingReview.
- InterviewStatusNotStarted
- Eligible to start; nothing recorded yet. See InterviewStatus.notStarted.
- InterviewStatusReviewApproved
- A reviewer approved the finished interview. See InterviewStatus.reviewApproved.
- InterviewStatusReviewRejected
- A reviewer rejected the finished interview. See InterviewStatus.reviewRejected.
- InterviewStatusScreenedOut
- The participant did not qualify during screening. See InterviewStatus.screenedOut.
- InterviewStatusStarted
- An interview is underway. See InterviewStatus.started.
- The study cannot be taken right now. See InterviewStatus.studyUnavailable.
- InterviewStatusTechRejected
-
The system invalidated a started interview; reason says why — the same
TechRejectedReason set as
InterviewResult.techRejected. - InterviewStatusUnknown
- A status this SDK version does not recognize. See InterviewStatus.unknown.
- InterviewStatusUnknownStudy
-
The
studyIdis not a valid study for this key/environment. See InterviewStatus.unknownStudy. - The study cannot be taken right now. See InterviewResult.studyUnavailable.
- InterviewTechRejected
- The system invalidated the interview; reason says why. See TechRejectedReason.
- InterviewUserExited
- The participant exited mid-interview. See InterviewResult.userExited.
Enums
- FailureReason
- Why an interview could not complete, carried by InterviewFailed and FetchFailed.
- TechRejectedReason
-
Why an interview was system-invalidated, surfaced through
InterviewTechRejected (and shared with the native
InterviewStatus).