1.概览
在此 Codelab 中,您将学习如何使用 Firebase App Distribution 及其 Gradle 插件将 Android App Bundle 版本分发给测试人员。借助 App Distribution,您可以集中管理应用的预发布版本,以及您邀请访问各个版本的测试人员。
学习内容
- 如何将 Firebase 应用关联到 Google Play
- 如何将应用打包和构建为 app bundle
- 如何创建版本并与实际测试人员分享
- 如何以测试人员身份下载和测试新版本
您需要满足的条件
- 最新的 Android Studio 版本
- 您从 Android Studio 生成的已签名软件包文件
- 一个由您担任所有者或管理员的 Google Play 开发者账号
- 您在 Google Play 中的应用在 Google Play 应用信息中心内设置,其状态如下:
- 应用会发布到某个 Google Play 轨道(内部测试、封闭式测试、开放式测试或正式版)。
- 该应用在 Google Play 中的审核已完成,且已发布。如果应用状态列显示以下任一状态,则表明您的应用已发布:内部测试(非草稿内部测试)、封闭式测试、开放式测试或正式版。
- 您可以用作测试人员的电子邮件地址,接收来自 Firebase 的新构建邀请
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 }
- 在项目级设置 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 中配置软件包属性
在此步骤中,您需要将自己添加为稍后将分发的 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 步:将 App Distribution 添加到您的应用”中收到的令牌)。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。