1. 概览
在此 Codelab 中,您将学习如何使用 Firebase App Distribution 及其 Gradle 插件将 Android App Bundle 版本分发给测试人员。App Distribution 提供了一个集中式枢纽,您可在此管理应用的预发布版本以及您邀请参与每个版本测试的测试人员。
学习内容
- 如何将 Firebase 应用与 Google Play 相关联
- 如何将应用打包并构建为 app bundle
- 如何创建版本并与正式版测试人员共享
- 如何以测试人员身份下载和测试新版本
您需要满足的条件
- 最新的 Android Studio 版本
- 您从 Android Studio 生成的已签名 bundle 文件
- 您是所有者或管理员的 Google Play 开发者账号
- Google Play 中的应用在 Google Play 应用信息中心内进行设置,并且具有以下状态:
- 应用会发布到某个 Google Play 轨道(内部测试、封闭式测试、开放式测试或正式版)。
- 该应用在 Google Play 中的审核已完成,且已发布。如果应用状态列显示以下任一状态,则表明您的应用已发布:内部测试(非草稿内部测试)、封闭式测试、开放式测试或正式版。
- 您可以用作测试人员的电子邮件地址,接收来自 Firebase 的新构建邀请
2. 创建 Firebase 项目
- 登录 Firebase。
- 在 Firebase 控制台中,点击 Add Project(添加项目),然后将您的项目命名为“AppBundlesCodelab”。记住 Firebase 项目的 ID。如果您没有修改项目 ID,Firebase 会自动为您的项目分配一个唯一 ID。
- (可选)出现提示时,启用 Google Analytics。
- 完成其余步骤,然后点击创建项目。
将您的 app bundle 添加到项目中
- 在 Firebase 控制台中,点击添加应用。
- 注册应用时,请务必使用与上传到 Google Play 开发者账号的应用相同的软件包名称。 最后,点击注册应用。
- 完成其余步骤,将应用的 Firebase 配置文件 (
google-services.json
) 添加到您的应用。请注意,对于 Android,应用分发没有可添加到应用的 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 }
- 在项目级设置 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 任务以构建 app bundle 文件:$ ./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 的电子邮件邀请。现在,作为开发者,您可以在应用分发信息中心的版本标签页中监控 build。
6. 下载并测试您的版本
在本部分中,您将设置为测试人员,以便下载您分发的版本。作为测试人员,您需要对测试设备进行身份验证,并在 Google Play 商店应用中启用内部应用分享。
- 在测试设备上,登录您的测试人员电子邮件账号,然后打开 Firebase 发送的邀请。
- 使用您的 Google 账号登录并接受邀请,即可测试已分发版本。您还可以选择下载 Firebase App Tester,以防止下载的版本添加到设备的
Downloads
文件夹中。此页面还会显示有关版本的更多信息,例如下载进度和发布版本。 - 点按版本上的下载即可从 Play 商店安装该版本。
- 当系统提示时,完成剩余步骤以启用内部应用分享功能(相应说明会显示在测试设备上,只需完成一次)。
下载完成后,您的版本会自动显示为设备主屏幕上的快捷方式。
7. 恭喜!
您刚刚使用 Firebase App Distribution 上传了 app bundle 并向测试人员分发了版本。
后续步骤
- 如需详细了解如何管理发布版本的测试人员,请参阅 App Distribution 文档。
- 如需了解可用于部署应用的其他工具,请参阅构建和测试 Android App Bundle。