您可以使用下列程式,將 App Distribution 整合至 Android 建構程序 App Distribution Gradle 外掛程式。外掛程式可讓您指定測試人員 應用程式 Gradle 檔案中的版本資訊,可讓您設定發布版本 為應用程式的不同建構類型和變化版本設定。
本指南將說明如何使用 App Distribution Gradle 外掛程式。
事前準備
如果您尚未將 Firebase 新增至 Android,請先完成這項操作。 專案。
如果您沒有使用其他 Firebase 產品,只要建立 並註冊應用程式不過,如果您決定使用額外的 在日後推出產品時,請務必完成本頁列出的所有步驟 。
步驟 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 = "APK" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" 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 assembleRelease appDistributionUploadRelease
如果您已經使用 Google 帳戶完成驗證 且未在 Gradle 建構檔案中提供憑證,請加入
FIREBASE_TOKEN
變數:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
您也可以傳遞以下訊息,以覆寫
build.gradle
檔案中設定的值: 指令列引數的形式--<property-name>=<property-value>
。例如:如何將偵錯版本上傳至 App Distribution:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
如何邀請其他測試人員,或從 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 程式碼研究室 ,瞭解如何逐步瞭解如何發布應用程式套件版本。