Overview
Start here to understand the Feddy React Native SDK surface area — what ships in the box, the optional Expo modules that add capability, and where each piece fits.
The Feddy React Native SDK is a pure-JavaScript package — no custom native bridges, Expo Go compatible — that gives your app drop-in feedback modals, a roadmap viewer, a Smart Review prompt, and a small imperative API for building anything custom on top of the same data.
What's in the box
| Surface | Purpose |
|---|---|
Feddy.configure({ apiKey }) | One-line bootstrap with your Project ID. |
<FeddyProvider /> | Mounts the built-in compose modal and Smart Review sheet so the imperative APIs work from anywhere in your tree. |
Feddy.identify({...}) | Attribute writes to a real user identity. Optional. |
Feddy.openFeedback({ boardKey }) | Open the bundled compose modal from anywhere. |
Feddy.requestReviewIfAppropriate({ trigger }) | Gated Smart Review prompt with the 2-step like / dislike sheet. |
Feddy.submitRequest({...}) | Programmatic submit. Fire-and-forget, never throws. |
Feddy.fetchRequests(...) etc | Async reads for fetch / vote / comment when you need a custom UI. |
<RequestListView /> | Full-screen feedback list modal with pagination, voting, and detail navigation. |
<RoadmapView /> | Full-screen roadmap modal with Planned / In Progress / Completed tabs. |
Two API styles
The SDK is split deliberately so fire-and-forget writes never need
try / catch:
- Synchronous, never-throws:
configure,identify,submitRequest,setSubscription,reset. Errors log to the console and queue for retry where it makes sense. - Async / rejects:
fetchRequests,fetchRequest,fetchComments,upvote,addComment,fetchBoards. Failures reject withFeddyError(network or HTTP).
Optional Expo modules
Each optional module unlocks a specific capability and is gracefully no-op'd when missing — the SDK still installs and runs without any of them:
| Module | Powers |
|---|---|
expo-application / expo-device | App ID / version / device telemetry headers |
expo-localization | Auto-detect device locale across en / zh-Hans / zh-Hant / es / ja / de / fr |
expo-image-picker / expo-image-manipulator | Image attachments on feedback submissions |
expo-store-review | Native App Store / Play Store review prompt at the end of the Smart Review flow |
expo-iap | Auto-detect the host app's active subscription via StoreKit 2 / Play Billing |
Reading order
The next three pages take you from zero to fully integrated:
- Installation — npm install,
Project ID setup,
<FeddyProvider />mount, and theFeddy.configure(...)call at app launch. - Authentication — identifying signed-in users and how anonymous-first attribution reconciles to a real user later.
- Common flows — open the feedback modal, render the roadmap, trigger Smart Review, build a custom UI on top of the async API, and handle errors.
Status
The React Native SDK is at v0.2.x, currently in beta. Breaking changes between minor versions are called out on the GitHub releases page. After 1.0, the SDK follows strict semver — minor / patch releases will not break callers.
Common Flows
Submit feedback, surface the roadmap, build a custom UI on top of the async API, and handle errors. Covers RequestComposeView, RequestListView, programmatic submit / fetch / vote / comment, and FeddyError patterns.
Installation
From npm install to a working feedback modal in one flow — install peers, mount FeddyProvider, configure with your Project ID, drop in a button, verify in the dashboard.