1. 概览
在此 Codelab 中,您将学习如何使用 Firebase App Distribution 及其 Gradle 插件将 Android App Bundle 版本分发给测试人员。Firebase 应用分发提供了一个中央管理平台,您可以在这里管理应用的预发布版本,以及您邀请加入每个版本的测试人员。
学习内容
- 如何将 Firebase 应用与 Google Play 相关联
- 如何将应用打包并构建为 app bundle
- 如何创建发布版本并与实时测试人员分享
- 如何以测试人员身份下载和测试新版本
您需要满足的条件
- 最新 Android Studio 版本
- 您从 Android Studio 生成的已签名 bundle 文件
- 您是所有者或管理员的 Google Play 开发者账号
- Google Play 中的应用在 Google Play 应用信息中心内设置,并具有以下状态:
- 应用会分发到某个 Google Play 轨道(内部测试、封闭式测试、开放式测试或正式版)。
- 该应用在 Google Play 中的审核已完成,且已发布。如果“应用状态”列显示以下状态之一,表明您的应用已发布:内部测试(非草稿内部测试)、封闭式测试、开放式测试或正式版。
- 您可以用作测试人员的电子邮件地址,用于接收 Firebase 发送的新 build 邀请
2. 创建 Firebase 项目
- 登录 Firebase。
- 在 Firebase 控制台中,点击添加项目,然后将您的项目命名为“AppBundlesCodelab”。记住您的 Firebase 项目的项目 ID。如果您不修改项目 ID,Firebase 会自动为您的项目分配一个唯一 ID。
- (可选)根据提示启用 Google Analytics。
- 完成其余步骤,然后点击创建项目。
将 app bundle 添加到项目中
- 在 Firebase 控制台中,点击添加应用。
- 注册应用时,请务必使用与上传到 Google Play 开发者账号的应用相同的软件包名称。 最后,点击注册应用。
- 完成剩余步骤,将应用的 Firebase 配置文件 (
google-services.json
) 添加到您的应用。请注意,对于 Android,App Distribution 没有可添加到应用的 Firebase SDK。 - 点击继续前往控制台。
关联到 Google Play
- 在 Firebase 控制台中,前往项目设置。
- 在集成标签页中,点击 Google Play 卡片中的关联。
- 按照屏幕上的说明启用 App Distribution 集成,然后选择您新建的 Firebase 应用以与 Google Play 关联。
完成上述步骤后,只要 Firebase 应用与 Google Play 开发者账号中的应用的软件包名称一致,这两个应用就会关联起来。
3. 将 App Distribution 添加到您的项目
添加 App Distribution Gradle 插件
现在,您将使用 Android Studio 将 App Distribution 及其 Gradle 插件添加到您的应用中。
- 在项目级 Gradle 文件 (
android/build.gradle.kts
) 中,将 App Distribution Gradle 插件添加到plugins
块。plugins { //... // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "4.0.0" apply false }
- 在项目级 Settings Gradle 文件 (
android/settings.gradle.kts
) 中,将 Google 的 Maven 制品库添加到pluginManagement
代码块。pluginManagement { // Check that you have Google's Maven repository (if not, add it). repositories { google() mavenCentral() } }
- 在应用级 Gradle 文件 (
android/app/build.gradle.kts
) 中,将 App Distribution 插件添加到plugins
块。plugins { //... // Add the App Distribution plugin id("com.google.firebase.appdistribution") }
- 如果您受公司代理或防火墙保护,请添加以下 Java 系统属性,以使 App Distribution 能够将您的分发上传到 Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
对 Firebase 项目进行身份验证
您需要先对 Firebase 项目进行身份验证,然后才能使用 Gradle 插件。在此 Codelab 中,您将使用 Firebase CLI 登录您的 Google 账号。
在 Android 项目的根目录下运行以下命令:
~/your-android-project$ firebase login
如需了解详情,请参阅参考文档。
4. 在 Android Studio 中配置 bundle 属性
在此步骤中,您将自己添加为稍后要分发的 build 的测试人员。分发 build 后,测试人员会收到 Firebase 发送的电子邮件通知,邀请他们测试新 build。
在 app/build.gradle.kts
中,添加 firebaseAppDistribution
部分并添加以下参数:
appID
:您的应用的 Firebase 应用 ID。您可以在项目设置的常规标签页中找到该 ID。artifactType
:应用的相应文件类型 (AAB
)。testers
:测试人员的电子邮件地址。在本 Codelab 中,请添加您自己的电子邮件地址,以便在 build 分发后进行测试。
例如:
android {
// ...
buildTypes {
getByName("release") {
firebaseAppDistribution {
appId = "yourAppId"
artifactType = "AAB"
testers = "ali@example.com, bri@example.com, cal@example.com"
}
}
}
// ...
}
您还可以选择通过传递 -PappDistribution-property-name=property-value
形式的命令行实参来覆盖 build.gradle.kts
中设置的值。
5. 构建并分发发布版本
- 运行
bundleVariant
Gradle 任务以构建应用软件包文件:$ ./gradlew :base:bundleRelease
- 在应用的 build 目录中找到相应软件包(默认位置为
app/build/outputs/bundle/release
)。 - 如需分发版本,请使用项目的 Gradle 封装容器构建目标
bundleRelease
和appDistributionUploadRelease
。包含 Firebase 令牌(您在第 3 步:将应用分发添加到您的应用中收到的令牌)。export FIREBASE_TOKEN=your_firebase_token ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
测试人员现在将收到电子邮件邀请,可下载并测试相应 build。作为开发者,您现在可以在 App Distribution 信息中心的版本标签页中监控 build。
6. 下载并测试发布版本
在本部分中,您将设置测试人员身份,以便下载您分发的发布版本。作为测试人员,您需要在 Google Play 商店应用中对测试设备进行身份验证,并启用内部应用分享。
- 在测试设备上,登录您的测试人员电子邮件账号,然后打开 Firebase 发送的邀请。
- 使用您的 Google 账号登录,并接受测试已分发的版本的邀请。您也可以选择下载 Firebase App Tester,该应用可防止下载的版本添加到设备的
Downloads
文件夹中。它还会显示有关发布版本的其他信息,例如下载进度和发布版本。 - 点按相应版本的下载,即可从 Play 商店安装该版本。
- 根据提示完成剩余步骤,以启用内部应用分享功能(这些说明会显示在测试设备上,只需完成一次)。
下载完成后,您的发布内容会自动以快捷方式的形式显示在设备的主屏幕上。
7. 恭喜!
您刚刚使用 Firebase App Distribution 上传了一个 app bundle,并将版本分发给了测试人员。
后续步骤
- 如需详细了解如何管理发布版本的测试人员,请参阅 App Distribution 文档。
- 如需了解可用于部署应用的其他工具,请参阅构建和测试 Android App Bundle。