Android (Kotlin)
Add a native feature request board to your Android app. It takes three steps.
Needs Android 6.0 (API 23) or later and Jetpack Compose with Material 3. Apps built with Views work too.
Install
Add the dependency
The SDK is on Maven Central, which your project already uses. Add one line:
app/build.gradle.ktsdependencies { implementation("shop.fewchurs:fewchurs-android:1.0.0") }Or use a version catalog
If your project uses a version catalog, add the library there instead:
gradle/libs.versions.toml[libraries] fewchurs = { module = "shop.fewchurs:fewchurs-android", version = "1.0.0" }app/build.gradle.ktsdependencies { implementation(libs.fewchurs) }
Set up
Call configure once, when your app starts. Use the API key from your dashboard.
import android.app.Application
import com.fewchurs.sdk.Fewchurs
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
Fewchurs.configure(this, apiKey = "fr_live_xxx")
}
}If your app doesn't have an Application class yet, register the new one in your manifest:
<application
android:name=".MyApp"
...>Show the board
FewchursBoardSheet shows the board in a bottom sheet. It handles everything inside: the list, votes, comments and new requests.
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import com.fewchurs.sdk.ui.FewchursBoardSheet
@Composable
fun SettingsScreen() {
var showBoard by remember { mutableStateOf(false) }
Button(onClick = { showBoard = true }) {
Text("Suggest a feature")
}
FewchursBoardSheet(visible = showBoard, onDismiss = { showBoard = false })
}To use it as a full screen or a navigation destination, use FewchursBoard.
import com.fewchurs.sdk.ui.FewchursBoard
composable("feedback") {
FewchursBoard(onClose = { navController.popBackStack() })
}Using Views
If your app doesn't use Compose, open the board in its own screen from anywhere:
import com.fewchurs.sdk.Fewchurs
Fewchurs.showBoard(context)Colors and theme
By default the board follows your app: your MaterialTheme colors, shapes and fonts, and light or dark mode. To change it, add a theme block to configure.
import com.fewchurs.sdk.ui.config.*
Fewchurs.configure(this, apiKey = "fr_live_xxx") {
theme {
colors {
primary = Color(0xFFED5F18)
}
cornerRadius = 14.dp
darkMode = DarkMode.System
}
}The SDK README covers every option: copy, tabs, custom pieces of the board, and building your own UI on the headless API.
Kotlin Multiplatform
The SDK is for Android, so in a Kotlin Multiplatform project add it to androidMain, not commonMain. On iOS, use the Swift package.
kotlin {
sourceSets {
androidMain.dependencies {
implementation("shop.fewchurs:fewchurs-android:1.0.0")
}
}
}About the API key
It's fine to put this key in your app. It can only do what the board does: list, vote, comment and suggest. It can't change your settings or read anything private.
What your plan changes
Your plan is applied on our servers, so you never need to change code or update the SDK when it changes.
| Free | Starter | Pro | |
|---|---|---|---|
| Requests the board lists | First 5 | First 200 | All |
| "Powered by Fewchurs" line | Shown | Hidden | Hidden |
Newer requests are still saved and show in your dashboard. A request someone just submitted appears on their board straight away, but once the app is past its limit it leaves the list on the next refresh. See pricing.