您可以使用下列程式,將 App Distribution 整合至 Android 建構程序 App Distribution Gradle 外掛程式。外掛程式可讓您指定測試人員 應用程式 Gradle 檔案中的版本資訊,可讓您設定發布版本 為應用程式的不同建構類型和變化版本設定。
本指南說明如何將 Android App Bundle (AAB) 發布給測試人員 透過 App Distribution Gradle 外掛程式 建立應用程式
App Distribution 已與 Google Play 的內部應用程式分享服務整合,以便: 處理你上傳並提供針對測試人員最佳化的 APK 裝置設定發布 AAB 可讓您執行下列操作:
執行針對以下項目最佳化的最佳化 APK (由 Google Play 提供) 測試人員裝置。
找出裝置相關問題並進行偵錯。
測試應用程式套件功能,例如 Play Feature Delivery 和 Play Asset Delivery 的套件。
請為測試人員縮減下載大小。
所需權限
如要將 AAB 上傳至 App Distribution,請將 Firebase 應用程式連結至應用程式 位置:Google Play。您必須取得必要的存取層級 才能執行這些動作
如果您沒有必要的 Firebase 存取權,可以詢問 Firebase 專案 擁有者透過 Firebase 控制台 IAM 設定。 如果您對 Firebase 專案的存取方式有疑問,請提供: 尋找或指派擁有者、詳閱 「Firebase 專案的權限和存取權」常見問題。
下表適用於將 Firebase 應用程式連結至應用程式的做法: Google Play,以及上傳 AAB。
Firebase 控制台中的動作 | 必要的 IAM 權限 | 具備必要權限的 IAM 角色 預設 | 其他必要角色 |
---|---|---|---|
將 Firebase 應用程式連結至 Google Play 中的應用程式 | firebase.playLinks.update
|
下列其中一個角色: | 「Google Play」開發人員帳戶的存取權 管理員 |
將 AAB 上傳至「App Distribution」 | firebaseappdistro.releases.update
|
下列其中一個角色: | –– |
事前準備
如果您尚未將 Firebase 新增至 Android,請先完成這項操作。 專案。完成這個工作流程後 Firebase 專案中有 Firebase Android 應用程式。
如果您沒有使用其他 Firebase 產品,則只需建立 並註冊應用程式如果決定使用額外參數 請務必完成 將 Firebase 新增至您的 Android 專案。
如要建立 Google Play 的 Firebase 連結並上傳 AAB,請確認 應用程式符合下列規定:
已在 Google Play 和 Firebase Android 應用程式中註冊應用程式 使用相同的套件名稱
Google Play 中的應用程式已在應用程式中設定 資訊主頁 發行至其中一個 Google Play 測試群組 (內部測試、 封閉測試、公開測試或正式版)。
應用程式在 Google Play 中的審查已完成,並已發布應用程式。 如果「應用程式狀態」欄顯示下列任一項目,表示應用程式已發布 下列狀態:內部測試 (非草稿內部測試)、 封閉測試、公開測試或正式版。
將 Firebase Android 應用程式連結至 Google Play 開發人員帳戶:
透過 Firebase 控制台,前往
、 然後選取「Integrations」(整合) 分頁標籤。 專案設定 按一下「Google Play」資訊卡中的「連結」。
如果已有 Google Play 連結,請按一下「管理」 。按照畫面上的指示啟用 App Distribution 整合並選取要連結至 Google 的 Firebase Android 應用程式 遊玩、
進一步瞭解 連結至 Google Play
步驟 1:設定 Android 專案
在您的根層級 (專案層級) Gradle 檔案 (
<project>/build.gradle.kts
或<project>/build.gradle
),請將 App Distribution Gradle 外掛程式做為依附元件:Kotlin
plugins { // ... id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "5.0.0" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '5.0.0' apply false }
在「module (應用程式層級)」Gradle 檔案中 (通常是
<project>/<app-module>/build.gradle.kts
或<project>/<app-module>/build.gradle
)、 新增 App Distribution Gradle 外掛程式:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the App Distribution Gradle plugin id("com.google.firebase.appdistribution") }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' }
如果您使用公司 Proxy 或防火牆,請新增以下指令 Java 系統屬性 可讓 App Distribution 將您的發行內容上傳至 Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
步驟 2:透過 Firebase 驗證
使用此 Gradle 外掛程式之前,您必須先使用 您可透過下列其中一種方式處理 Firebase 專案。根據預設,Gradle 外掛程式 如果沒有其他驗證,則會尋找 Firebase CLI 提供的憑證 方法。
步驟 3:設定發布屬性
在「module (應用程式層級)」Gradle 檔案中 (通常是
<project>/<app-module>/build.gradle.kts
或
<project>/<app-module>/build.gradle
) 設定 App Distribution,方法是在
有一個 firebaseAppDistribution
區段。
舉例來說,如要將 release
版本發布給測試人員,請按照下列指示操作
操作說明:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
您可以設定 App Distribution 「建構類型和變種版本」。
舉例來說,如要在「試用版」中發布 debug
和 release
版本和「full」
變種版本,請按照下列說明操作:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("debug") {...} getByName("release") {...} } flavorDimensions += "version" productFlavors { create("demo") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for demo version" testers = "demo@testers.com" } } create("full") { dimension = "version" firebaseAppDistribution { releaseNotes = "Release notes for full version" testers = "full@testers.com" } } } // ... }
Groovy
android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
使用下列參數設定分佈:
App Distribution 版本參數 | |
---|---|
appId
|
應用程式的 Firebase 應用程式 ID。只有在沒有
已安裝 Google 服務 Gradle 外掛程式。您可以在
appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
服務帳戶私密金鑰 JSON 檔案的路徑。僅限必要 如果您使用服務帳戶驗證 |
artifactType
|
指定應用程式的檔案類型。可設為
|
artifactPath
|
要上傳 APK 或 AAB 檔案的絕對路徑。 |
releaseNotes 或releaseNotesFile |
這個版本的版本資訊。 您可以直接指明版本資訊,也可以採用 提供純文字檔的路徑 |
testers 或testersFile |
您要發布版本的測試人員電子郵件地址 。 可以使用以半形逗號分隔的電子郵件清單指定測試人員 地址: testers="ali@example.com, bri@example.com, cal@example.com" 或者,您可以指定檔案路徑 電子郵件地址清單: testersFile="/path/to/testers.txt" |
groups 或groupsFile |
您要發布版本的測試人員群組 (請參閱
管理測試人員)。
群組是使用「群組別名」 可以使用以半形逗號分隔的群組清單來指定群組 別名: groups="qa-team, android-testers" 或者,您可以指定檔案路徑 群組別名清單: groupsFile="/path/to/tester-groups.txt" |
testDevices 或testDevicesFile |
下列發布類型屬於自動化測試人員 Beta 版功能。 要發布版本的測試裝置 (請參閱「自動化測試」)。 您可以將測試裝置指定為以半形分號分隔的清單 裝置規格: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" 或者,您可以指定檔案路徑 裝置規格清單: testDevicesFile="/path/to/testDevices.txt" |
testUsername |
用於自動測試期間自動登入的使用者名稱。 |
testPassword 或testPasswordFile |
自動登入用於自動測試的密碼。 或者,您可以指定含有密碼的純文字檔案路徑: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource |
用於自動測試期間自動登入的使用者名稱欄位的資源名稱。 |
testPasswordResource |
密碼欄位的資源名稱,供自動測試使用。 |
testNonBlocking |
以非同步方式執行自動化測試。前往 Firebase 控制台查看自動測試結果。 |
stacktrace
|
輸出使用者例外狀況的堆疊追蹤。這很適合用來 偵錯問題。 |
步驟 4:將應用程式發布給測試人員
最後,如要封裝測試應用程式並邀請測試人員,請建立目標 「
BUILD-VARIANT
」和 將appDistributionUploadBUILD-VARIANT
分享給 專案的 Gradle 包裝函式,其中 BUILD-VARIANT 為選用項目 您在上一個步驟中設定的變種版本和建構類型。 如要進一步瞭解變種版本,請參閱 設定建構變數。舉例來說,如要使用
release
建構變數發布應用程式,請執行 以下指令:./gradlew bundleRelease appDistributionUploadRelease
如果您已經使用 Google 帳戶完成驗證 且未在 Gradle 建構檔案中提供憑證,請加入
FIREBASE_TOKEN
變數:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew bundleRelease appDistributionUploadRelease
您也可以傳遞以下訊息,以覆寫
build.gradle
檔案中設定的值: 指令列引數的形式--<property-name>=<property-value>
。例如:如何將偵錯版本上傳至 App Distribution:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
如何邀請其他測試人員,或從 Firebase 中移除現有的測試人員 專案:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
將測試人員新增至 Firebase 專案後,您可以將他們新增至 和個別版本遭移除的測試人員將無法再存取 現有版本,但可能仍保有相關內容的存取權 一段時間
您也可以使用
--file="/path/to/testers.txt"
指定測試人員,而不使用--emails
。appDistributionAddTesters
和appDistributionRemoveTesters
工作 也接受下列引數:projectNumber
:您的 Firebase 專案編號。serviceCredentialsFile
:Google 服務憑證檔案的路徑。 這是上傳動作使用的相同引數。
Gradle 外掛程式會在發布版本上傳後輸出下列連結。這些 連結可協助您管理二進位檔,並確保測試人員和其他開發人員 正確的版本:
firebase_console_uri
- 連結至 Firebase 控制台,其中顯示 單曲發布。您可以透過 機構。testing_uri
- 測試人員體驗中的版本連結 (Android 原生應用程式),可供測試人員查看版本 ,並在裝置上安裝這個應用程式。測試人員需要下列項目的存取權: 才能使用連結。binary_download_uri
- 已簽署的連結,可直接下載 安裝應用程式二進位檔 (APK 或 AAB 檔案)。連結將於一後失效 小時。
版本發布後, Firebase 控制台的 App Distribution 資訊主頁,長達 150 天 (五個月)。 如果版本到期 30 天,兩個版本都會顯示到期通知 測試裝置上的控制台和測試人員的版本清單。
測試人員會收到電子郵件邀請,但尚未受邀測試應用程式 新的版本,現有測試人員會收到新版本的電子郵件通知 可供測試 (閱讀 測試人員設定指南 瞭解如何安裝測試 應用程式)。您可以監控每位測試人員的狀態,確認他們是否接受 邀請,以及對方是否已在 Firebase 控制台中下載應用程式。
在過期前,測試人員有 30 天可以接受邀請,接受邀請。 如果邀請過期的 5 天,系統會在 版本測試人員旁邊的 Firebase 控制台。邀請可以是 使用測試人員列的下拉式選單重新傳送更新。
後續步驟
實作應用程式內意見回饋 方便使用者傳送與應用程式相關的意見 螢幕截圖)。
瞭解如何顯示應用程式內快訊 待您的應用程式有新版本可供安裝時,將目前的應用程式提供給測試人員。
造訪 Android App Bundle 程式碼研究室 ,瞭解如何逐步瞭解如何發布應用程式套件版本。