FirebaseAppDistribution

Firebase App Distribution's in-app tester API: signs the tester in, checks for new pre-release builds, updates the app to them and collects the tester's feedback.

On Android it does nothing (and fails with AppDistributionExceptionStatus.NOT_IMPLEMENTED) unless the app's pre-release builds add the full com.google.firebase:firebase-appdistribution SDK. On iOS an update opens the new release's download link, and there is no in-app feedback. The JVM has no App Distribution. See com.google.firebase.appdistribution.FirebaseAppDistribution for each member's behaviour per platform.

Properties

Link copied to clipboard

The underlying Firebase Android SDK object.

Link copied to clipboard
Link copied to clipboard
val FirebaseAppDistribution.ios: FIRAppDistribution

The underlying Firebase iOS SDK object, a singleton of the default app.

Link copied to clipboard

Whether the App Distribution tester is signed in.

Functions

Link copied to clipboard

Hides the notification shown by showFeedbackNotification. Does nothing on iOS and the JVM.

Link copied to clipboard

The new release available to the signed-in tester, or null if there is none; updateApp installs it. Throws a FirebaseAppDistributionException with AppDistributionExceptionStatus.AUTHENTICATION_FAILURE when the tester is not signed in.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun showFeedbackNotification(additionalFormText: CharSequence, interruptionLevel: InterruptionLevel = InterruptionLevel.DEFAULT)

Shows a notification that starts the feedback of startFeedback when the tester taps it, interrupting them as much as interruptionLevel. On Android 13 and above it needs the POST_NOTIFICATIONS permission. Does nothing on iOS and the JVM.

Link copied to clipboard
suspend fun signInTester()

Signs in the App Distribution tester, presenting a Google sign-in UI; throws a FirebaseAppDistributionException if that fails.

Link copied to clipboard

Signs out the App Distribution tester.

Link copied to clipboard
fun startFeedback(additionalFormText: CharSequence, screenshotUri: String? = null)

Starts an activity to collect and submit feedback from the tester, with additionalFormText shown to them before they submit it. The feedback comes with the screenshot at screenshotUri (a content:// or file:// URI of a bitmap), or with one the SDK takes of the current activity when it is null. Does nothing on iOS and the JVM.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard

Updates the app to the release that the last checkForNewRelease returned. Collecting the flow starts the update; it emits the update's progress, completes when the update has, and throws the FirebaseAppDistributionException the update failed with (AppDistributionExceptionStatus.UPDATE_NOT_AVAILABLE without a new release). Cancelling the collection does not cancel the update. On iOS it emits nothing: the release's download link is opened, and iOS asks the tester to install it.

Link copied to clipboard

Updates the app to the newest release, if one is available, asking a signed-out tester to sign in first; see updateApp for the flow. It completes without an update when there is no new release.