Skip to main content

Feedback type

This SDK option allows your users to categorize their feedback.


When submitting their feedback, your users immediately categorize it as either a bug report, an improvement suggestion, or just a question.

Depending on their choice, you automatically receive the bug, suggestion or question tag next to their ticket in your Shake Dashboard. This way, you can filter and browse them efficiently!

Custom types

You can configure Shake to display any number of custom categories related to your product.

Shake exposes an internal FeedbackType type which is used to encapsulate the properties of your custom category.

The snippet below showcases an example usage of the feature.

val feedbackTypes = ArrayList<FeedbackType>()
feedbackTypes.add(FeedbackType(R.drawable.ic_hardware, "Hardware issue", "hardware")) // Icon is optional
feedbackTypes.add(FeedbackType(R.drawable.ic_audio, "Call audio problem", "call_audio"))
feedbackTypes.add(FeedbackType(R.drawable.ic_files, "File sync issue", "file_sync"))
Shake.getReportConfiguration().feedbackTypes = feedbackTypes

There is no limit to the number of categories you can enter.

Along with setFeedbackTypes method, Shake also exposes the getFeedbackTypes method which allows you to grab the current set of FeedbackType and use them how you like.

Common use case is that some portions of your application can "unlock" certain features, so you can have different feedback types for different "parts" of your application. This enables you to , in a sense, "follow" your application context and filter out the possible issues on the SDK itself.

fun enableVideoCallFeature(contactID:String) {
val videoCallCategory = FeedbackType(R.drawable.ic_hardware, "Hardware issue", "hardware")
val existing = Shake.getReportConfiguration().feedbackTypes
Shake.getReportConfiguration().feedbackTypes = existing


If you don’t want your users to have to categorize their feedback, simply hide this option using the following method:

Shake.getReportConfiguration().isFeedbackTypeEnabled = false

On your Shake Dashboard, all these tickets won't have any specific type (and tag).