Get Actionable Feedback From Your Android Testers With App Distribution

Pre-release app testing is a critical step in the app development lifecycle. But have you ever sent out a pre-release version of your Android app, and didn’t get any feedback? Or maybe you received feedback that wasn’t actionable because you couldn’t understand the bug it described, or you didn’t know which version of your app the tester was running?

Firebase App Distribution’s new In-app Feedback feature helps you get more feedback on your pre-release app versions, along with the information you need to take action. With In-app Feedback for Android, your testers can be prompted to submit feedback directly from your app. The feedback is then presented in the Firebase console with helpful information like a screenshot of the bug and information about the specific app release that was being tested. If you prefer to have the feedback sent directly to you, the In-app Feedback feature also lets you send feedback directly to your bug tracking system or other tools.

Let’s get started!

Collect Feedback in Your App

If you haven’t already, add the Firebase App Distribution Android SDK to your app’s pre-release builds.

Once that is added, your build.gradle(.kts) file will look like this, where beta is replaced by your own pre-release build variant:

dependencies {
    implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta10")
    // The full SDK implementation is added to the "beta" variant only (example)
    betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
}

The built-in feedback notification is the fastest and easiest way to start getting feedback from your users. This notification is available in the notification drawer as long as the tester has a pre-release version of your app open. Your testers can tap the notification, at any time, to take a screenshot of the app and open the feedback form.

An Android device receiving a push notification that is tapped, opening a feedback dialog
An Android device receiving a push notification that is tapped, opening a feedback dialog

To display this notification to collect feedback, call showFeedbackNotification(). We recommend that you call the method from your main activity’s onCreate():

Firebase.appDistribution.showFeedbackNotification(
    // Text providing notice to your testers about collection and processing
    // of their feedback data
    R.string.additionalFormText,
    // The level of interruption for the notification
    InterruptionLevel.DEFAULT)

Customize How Testers Start Feedback (Optional)

You can also set up a custom feedback trigger, if you want to provide a different mechanism for testers to provide feedback, such as tapping a menu item or shaking their device. In a Jetpack Compose app, for example, you could add a floating action button that testers could tap to start feedback:

@Composable
private fun MainScreen() {
  Scaffold(floatingActionButton = { FeedbackButton() }) {
    // Your app's content
    ...
  }
}

@Composable
private fun FeedbackButton() {
  // Show the button in your app's "beta" flavor only (example)
  if (BuildConfig.FLAVOR == "beta") {
    FloatingActionButton(
        onClick = { Firebase.appDistribution.startFeedback(R.string.feedback_form_text) }
    ) {
      Icon(Icons.Outlined.Email, contentDescription = "Send feedback")
    }
  }
}
An example app with a custom feedback button in its news feed that opens a feedback dialog when tapped
An example app with a custom feedback button in its news feed that opens a feedback dialog when tapped

Review Tester Feedback

When a tester sends new feedback, by default you will receive an email containing the feedback, with a link to view it in the console. In the console, you can see all of your feedback in the App Distribution dashboard. You can review the text and screenshot, and see which tester submitted the feedback. The feedback is organized by release, so you know exactly which version they were testing.

Screenshot of the Firebase console showing feedback for an app grouped by its release version under the "Tester feedback" tab
Screenshot of the Firebase console showing feedback for an app grouped by its release version under the "Tester feedback" tab

If you want to send your feedback to a third-party service like Jira, Discord, Slack, or an in-house tool, you can integrate with Cloud Functions for Firebase to have new feedback sent to that channel directly.

Conclusion

In-app Feedback for Android can help you get more feedback on your pre-release app builds, with the context you need to take action, and even have it sent to the third-party services you’re already using to track your app’s issues. Add the SDK to your app today and start collecting better feedback!