Core concepts
Fedo is a feedback board rendered inside your app. This page describes the objects the SDK works with, so the API on the following pages reads as more than a list of method names.
Board
A board is the collection of feedback items belonging to one product. It is the unit everything else hangs off: feedback belongs to a board, and the list your users see is that board's contents.
There is no board selector in the SDK surface. Fedo.initialize takes an API
key and nothing else identifies a board, so the key you ship determines which
board the app reads and writes. Shipping a different key points the same build
at a different board.
Feedback
A feedback item is one request, idea, or report, made of a title and a description. Items are what the board lists, what users vote on, and what comments attach to.
Users can create feedback, and edit or delete items they authored. Editing is
not always available — a feedback item carries a status, and the SDK hides the
edit and delete affordances once that status no longer permits changes. Your
app does not need to check this; FeedbacksScreen
handles it.
Vote
A vote is a user's signal of support on a feedback item. The vote count is what lets you rank a board by what your users actually want. Voting is built into both the list and the detail screen.
Comment
A comment is a reply on a feedback item. Comments are threaded — a comment can reply to another comment — which is what makes a board usable for a back and forth rather than a suggestion box.
User
Every interaction is attributed to a user. Fedo represents users in two states.
An anonymous user is created automatically the first time
FeedbacksScreen opens without an identified
user. It gets a random ID which is cached on the device, so the same anonymous
identity persists across app sessions.
An authenticated user is one you have identified by calling
Fedo.setUserID with your own user ID, typically at registration or login.
The transition matters: when an anonymous user becomes authenticated, everything they created — feedback, comments, votes — is migrated onto the authenticated user, and the anonymous user is deleted. Migration runs in that direction only. See User Management for the identity methods and the properties the SDK attaches automatically.
Auth
Auth is fully managed. You pass an API key to Fedo.initialize; the SDK
obtains and refreshes the tokens it needs, caches them, and clears them on
Fedo.logout. There is no token to store, pass, or refresh in your app code,
and no login UI to build.
Where this maps in the API
| Concept | Where you touch it |
|---|---|
| Board | Fedo.initialize(context, apiKey) — see Getting Started |
| Feedback, vote, comment | FeedbacksScreen() renders and manages all three |
| User identity | Fedo.setUserID and friends — see User Management |
| Auth | Managed by the SDK; cleared with Fedo.logout() |
| SDK behaviour | Configuration |
| Board appearance | UI Configuration |