Android Firebase In-App Tester Feedback

Muhammet ÇAĞATAY
Android Türkiye
6 min readOct 24, 2023

--

Hi All,

I haven’t had the opportunity to write an article here for a long time.

I recently worked on Firebase In-App Feedback and prepared a document for Mailim, one of the products we developed within Turkcell Technology.

During my research, I saw that there were not many resources in this field. On this occasion, I wanted to share this article with you.

Let’s Start!

As you know, Google announces new developments to both developers and end-users at its annual I/O events.

One of the features it announced this year is the In-app Tester Feedback feature.

For those who missed the I/O event, this feature is already announced to us from the notifications on the right when we enter the Firebase App-Distrubution panel.

What is Firebase App Distribution?

Firebase App Distribution is a service provided by Google’s Firebase platform that allows developers to distribute pre-release versions of their mobile applications to a limited group of testers or stakeholders for testing purposes. It simplifies the process of distributing beta versions of mobile apps, collecting feedback, and monitoring app performance before an official release.

Key features of Firebase App Distribution include:

  1. Easy Distribution: Developers can upload different versions of their app (APKs for Android or IPA files for iOS) to Firebase. These versions can be distributed to specific groups of testers, allowing developers to control who gets access to the app.
  2. Tester Groups: Firebase allows you to organize testers into groups, making it easy to manage distribution to different segments of your audience (e.g., internal team, external testers, specific regions).
  3. Over-the-Air Updates: Once a new version of the app is uploaded to Firebase App Distribution, testers can receive updates directly on their devices without needing to reinstall the app manually.
  4. Feedback Collection: Firebase App Distribution provides a way for testers to provide feedback about the app. This can be valuable for identifying bugs, usability issues, and other improvements before the app’s official release.
  5. Usage Analytics: The service offers insights into how testers are using the app, helping developers understand which features are being utilized the most and where improvements might be needed.
  6. Integration with Other Firebase Services: Firebase App Distribution can be used alongside other Firebase services, such as Crashlytics (for crash reporting) and Analytics (for tracking user behavior).
  7. Security: Firebase App Distribution offers security features to ensure that your pre-release app versions are distributed only to authorized testers.
  8. Support for Android and iOS: The service supports both Android and iOS platforms, making it a convenient solution for cross-platform development.

Remember that features and offerings can change over time, so I recommend visiting the official Firebase website or documentation for the most up-to-date information on Firebase App Distribution and its features.

What is In-App Tester Feedback?

Thanks to this feature, feedback can be given to certain test groups through shared applications via App-Distrubution, and even a screenshot of the existing screen can be easily included in this feedback.

How to do Android integration?

Step 1: Enable the App Distribution Tester API

  1. Open the Google Cloud Console and select your Firebase project.
  2. Under the Firebase App Testers API, click Enable.

Step 2: Add App Distribution to your app

The App Distribution Android SDK consists of two libraries:

  • firebase-appdistribution-api: The API-only library, which you can include in all build variants.
  • firebase-appdistribution: The full SDK implementation (optional).
dependencies {
// ADD the API-only library to all variants
implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta10")

// ADD the full SDK implementation to the "beta" variant only (example)
betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
}

Step 3: Configure in-app feedback

To collect feedback from your testers, use one of the following triggers to enable testers to initiate feedback:

  • Built-in notification trigger: The App Distribution Android SDK can display an ongoing notification that the tester can tap from anywhere in the app. Use this trigger if you want to get started more quickly and you don't need to customize how your testers provide feedback.

Firebase.appDistribution.showFeedbackNotification(
// Text providing notice to your testers about collection and
// processing of their feedback data
"Send Feedback To Firebase",
// The level of interruption for the notification
InterruptionLevel.HIGH)
  • Custom trigger: You can provide your own trigger mechanism, like tapping a button or menu item in your app or shaking the device.
Firebase.appDistribution.startFeedback("Send Feedback To Firebase")

When you use either of these triggers and the tester submits feedback, the Android SDK performs the following actions:

  1. Captures a screenshot of the app’s current activity.
  2. Runs checks to ensure the tester enabled the SDK’s testing features. If the testing features are not enabled, the Android SDK prompts the tester to sign in to App Distribution with their Google account.

Note: Enabling testing features is a one-time process on the test device and persists across updates of your app. Testing features remain enabled on the test device until the tester uninstalls the app or until the app calls the signOutTester method.

3. Starts a full-screen activity that lets the tester write and submit their feedback.

Is this service paid?

This service is completely free.

Does this service have risks?

  • The Firebase App Distribution Android SDK is a beta release. This means that the functionality might change in backward-incompatible ways. A beta release is not subject to any SLA or deprecation policy and may receive limited or no support.

To support features like notifying testers about new builds, the full App Distribution Android SDK implementation contains self-update functionality that may be considered a violation of Google Play policy, even if that code is not executed at runtime. Submitting your app to Google Play without removing the full SDK implementation may result in your app being removed from Google Play.

How In-App Tester Feedback works?

When the notification is clicked, the feedback form opens. The notification will be displayed as long as the application is open and when clicked, the relevant activity is added to the form.

Custom trigger:

Custom trigger can also be used if you want to take action on a certain button rather than with a notification.

Panel View

When we enter the panel, we can see the tester information, message and screenshot that made the notification, and we can delete this feedback.

Thank you for taking the time to read.

Hope it is useful.

--

--