Skip to main content
Version: 0.3

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

ConceptWhere you touch it
BoardFedo.initialize(context, apiKey) — see Getting Started
Feedback, vote, commentFeedbacksScreen() renders and manages all three
User identityFedo.setUserID and friends — see User Management
AuthManaged by the SDK; cleared with Fedo.logout()
SDK behaviourConfiguration
Board appearanceUI Configuration