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 your App ID and API key
Sign in to TellTide, open Apps, and create an app with the Mobile App or Desktop App platform label. Copy the App ID and the API key shown at creation. Native apps authenticate with the API key (an x-api-key header) instead of the website origin check, so store the key securely — an environment variable, secure storage, or your backend.
Step 2: Post feedback with OkHttp
Send the submission as JSON with the API key header:
val json = JSONObject().apply {
put("appId", TELLTIDE_APP_ID)
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/feedback")
.addHeader("x-api-key", TELLTIDE_API_KEY)
.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.
- Keep the API key in local.properties / BuildConfig or behind your backend, not committed in source.
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?
The free plan includes the widget, private inbox, API, and public roadmap for one app. Paid plans add unlimited apps and advanced features — pricing never scales with how many users you have.
