Why add feedback to Android apps?
The integration is a single POST request; any HTTP client your app already uses can send it.
Step 1: Create a TellTide app and copy its publishable key
Sign in to TellTide, open Apps, and create an app with the Mobile App or Desktop App platform label. Open API credentials and copy the tt_pub_ publishable key. It is intentionally visible and can only submit feedback. Never put a tt_live_ or tt_test_ private key in a client application.
Step 2: Post feedback with OkHttp
Send the submission as JSON with the publishable-key header:
val json = JSONObject().apply {
put("type", "bug") // "feedback" | "review" | "feature"
put("comment", commentText)
put("page_url", "myapp://checkout")
put("page_title", "Checkout")
}
val request = Request.Builder()
.url("https://telltide.com/api/v1/public/feedback")
.addHeader("X-TellTide-Key", TELLTIDE_PUBLISHABLE_KEY)
.addHeader("Idempotency-Key", UUID.randomUUID().toString())
.post(json.toString().toRequestBody("application/json".toMediaType()))
.build()
okHttpClient.newCall(request).execute()Step 3: Verify the submission in your inbox
Send a test request and check the response for a feedbackId. The submission appears in your TellTide inbox immediately, tagged with the page_url and page_title context you sent — use those fields for the screen name, route, or deep link the user was on.
Good to know
- Run the call off the main thread (coroutines with Dispatchers.IO is the natural home).
- Add Build.VERSION.RELEASE and your versionName to feedback_data for effortless triage.
- Use only a tt_pub_ key in the app. Private tt_live_ keys are not safe in BuildConfig, local properties, or the binary.
Common questions
Where should the feedback entry point live in my app?
A “Send feedback” row in settings plus an optional prompt after a failed action covers most needs. Avoid interrupting flows — TellTide’s private inbox means you never need to beg for input at bad moments.
Is there a native TellTide SDK for Android?
No SDK is required — the API is one JSON POST with two IDs, small enough that a wrapper library would be more code than the integration itself. Your HTTP client of choice already does the job.
Is the feedback public?
No. Every submission lands in your private TellTide inbox first. You choose which feature requests to publish to your public roadmap, where users can vote and comment.
How much does TellTide cost?
Pro includes the widget, private inbox, API, and public roadmap, with a 7-day free trial. Pricing never scales with how many users you have.
