本指南說明如何使用 Firebase CLI,將 Android App Bundle (AAB) 發布給測試人員。您可以使用 CLI 工具指定建構版本的測試人員和版本說明,然後據此發布建構版本。
App Distribution 會與 Google Play 的內部應用程式分享服務整合,處理您上傳的 AAB,並提供最適合測試人員裝置設定的 APK。發布 AAB 可讓您執行下列操作:
執行 Google Play 提供的最佳化 APK,這些 APK 會根據測試人員的裝置進行最佳化。
找出並偵錯裝置專屬問題。
測試應用程式套件功能,例如 Play Feature Delivery 和 Play Asset Delivery。
縮減測試人員的下載大小。
所需權限
如要將 AAB 上傳至 App Distribution,您必須將 Firebase 應用程式連結至 Google Play 中的應用程式。您必須具備必要存取層級,才能執行這些動作。
如果沒有必要的 Firebase 存取權,可以要求 Firebase 專案擁有者使用Firebase控制台 IAM 設定,指派適用的角色給你。如果您對存取 Firebase 專案有任何疑問,包括如何尋找或指派擁有者,請參閱「Firebase 專案的權限和存取權」常見問題。
下表適用於將 Firebase 應用程式連結至 Google Play 中的應用程式,以及上傳 AAB。
事前準備
如果您尚未將 Firebase 新增至 Android 專案,請先新增。完成這個工作流程後,Firebase 專案中就會有 Firebase Android 應用程式。
如果您未使用任何其他 Firebase 產品,只需要建立專案並註冊應用程式即可。如果您決定使用其他產品,請務必完成「將 Firebase 新增至 Android 專案」中的所有步驟。
開啟 Firebase 控制台的App Distribution 頁面。系統提示時選取 Firebase 專案,使用應用程式切換器選取應用程式,然後按一下「開始使用」。
如要建立 Google Play 與 Firebase 之間的連結來上傳 AAB,請確認應用程式符合下列規定:
註冊 Google Play 中的應用程式和 Firebase Android 應用程式時,你使用的是相同的套件名稱。
Google Play 中的應用程式已在應用程式資訊主頁中設定完畢,並發布至其中一個 Google Play 測試群組 (內部測試、封閉測試、公開測試或正式版)。
應用程式的 Google Play 審核程序已經完成,並發布完畢。如果「應用程式狀態」欄顯示的是下列其中一個狀態,即代表應用程式已經發布:內部測試 (並非草稿內部測試)、封閉測試、公開測試或正式版。
將 Firebase Android 應用程式連結至 Google Play 開發人員帳戶:
在 Firebase 控制台中,前往「專案設定」
,然後選取「整合」分頁標籤。 按一下「Google Play」資訊卡中的「連結」。
如果你已取得 Google Play 連結,則請改為點選「管理」。按照畫面上的指示啟用App Distribution整合功能,並選取要連結至 Google Play 的 Firebase Android 應用程式。
進一步瞭解如何連結至 Google Play。
步驟 1:建構應用程式
準備好將應用程式的預先發布版發送給測試人員時,請建構 AAB (如需操作說明,請參閱 Android Studio 說明文件)。
查看應用程式的測試憑證。步驟 2:將應用程式發布給測試人員
如要將應用程式發布給測試人員,請使用 Firebase CLI 上傳應用程式檔案:
- 安裝或更新至最新版本的 Firebase CLI (建議下載適用於您作業系統的 CLI 獨立二進位檔)。 請務必登入,並測試是否可以存取專案。
-
執行
appdistribution:distribute指令,上傳應用程式並發布給測試人員。使用下列參數設定發布作業:appdistribution:distribute 選項 --app必要:應用程式的 Firebase 應用程式 ID。您可以在 Firebase 控制台的「一般設定」頁面找到應用程式 ID。
--app 1:1234567890:android:0a1b2c3d4e5f67890
--token使用 Firebase CLI 驗證 CI 環境時列印的重新整理權杖 (詳情請參閱「搭配 CI 系統使用 CLI 」)。
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-file這個版本的版本資訊。
您可以直接指定版本資訊:
--release-notes "Text of release notes"
或者,指定純文字檔案的路徑:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-file要邀請的測試人員電子郵件地址。
您可以指定測試人員,並以逗號分隔的清單形式提供電子郵件地址:
--testers "ali@example.com, bri@example.com, cal@example.com"
或者,您也可以指定純文字檔的路徑,其中包含以半形逗號分隔的電子郵件地址清單:
--testers-file "/path/to/testers.txt"
--groups
--groups-file要邀請的測試人員群組 (請參閱「管理測試人員」)。群組是使用
群組別名 指定,您可以在 Firebase 控制台中查詢。您可以指定群組,並以逗號分隔的清單表示:
--groups "qa-team, trusted-testers"
或者,您也可以指定路徑,指向包含以逗號分隔的清單的純文字檔,其中包含群組名稱:
--groups-file "/path/to/groups.txt"
--debug可加入的旗標,用於列印詳細記錄輸出內容。
--test-devices
--test-devices-file要執行應用程式測試代理測試的測試裝置。
您可以指定測試裝置,並以分號分隔裝置規格清單:
--test-devices: "model=shiba,version=34,locale=en,orientation=portrait"
或者,您可以指定路徑,指向包含以半形分號分隔測試裝置清單的純文字檔:
--test-devices-file: "/path/to/test-devices.txt"
--test-username在應用程式測試代理程式測試期間,用於自動登入的使用者名稱。
--test-password
--test-password-file在應用程式測試代理程式測試期間,用於自動登入的密碼。
或者,您可以指定含有密碼的純文字檔路徑:
--test-password-file: "/path/to/test-password.txt"
--test-username-resource自動登入時使用的使用者名稱欄位資源名稱,適用於 應用程式測試代理 測試。
--test-password-resource自動登入的密碼欄位資源名稱,用於 應用程式測試代理測試。
--test-non-blocking如果是在執行 應用程式測試代理程式 測試時設定,指令會啟動測試,然後立即傳回, 不會等待測試完成。如要查看測試結果,請前往 Firebase 控制台。如果未設定這個標記,指令會封鎖,直到測試完成為止,且如果任何測試失敗,就會以失敗代碼結束。
--results-bucket自訂 Google Cloud Storage (GCS) bucket,用於儲存測試結果。如果留空,則會使用預設 bucket。值區必須由啟用帳單的專案擁有,且指定值區會產生儲存空間使用費。
例如:
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtFirebase CLI 會在上傳版本後輸出下列連結。 這些連結可協助您管理二進位檔,並確保測試人員和其他開發人員取得正確版本:
firebase_console_uri- 連結至Firebase控制台,顯示單一版本。您可以將這個連結分享給貴機構的其他開發人員。testing_uri- 測試人員體驗中的版本連結 (內建 Android 應用程式) 測試人員可透過這個連結查看版本說明,並在裝置上安裝應用程式。測試人員必須有權存取版本,才能使用連結。binary_download_uri- 簽署連結,可直接下載及安裝應用程式二進位檔 (APK 或 AAB 檔案)。連結會在 1 小時後失效。
管理測試人員和群組
除了發布版本,您也可以使用
appdistribution:testers:add和appdistribution:testers:remove邀請新測試人員,或從 Firebase 專案中移除現有測試人員。將測試人員新增至 Firebase 專案後,即可將他們加入個別版本。移除測試人員後,對方就無法再存取專案中的版本。請注意,最近遭移除的測試人員在一段時間內仍可存取您的版本。
例如:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.com測試人員電子郵件地址之間必須以空格分隔。您也可以使用
--file /path/to/testers.txt指定測試人員。如果測試人員人數眾多,建議使用群組: 您可以使用
appdistribution:group:create和appdistribution:group:delete在 Firebase 專案中建立或刪除群組。使用
--group-alias為appdistribution:testers:add和appdistribution:testers:remove指令指定群組。例如:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
發布版本後,該版本會在App Distribution控制台的Firebase資訊主頁中保留 150 天 (五個月)。如果建構版本即將在 30 天後過期,管理中心和測試人員測試裝置上的建構版本清單都會顯示過期通知。
尚未受邀測試應用程式的測試人員會收到電子郵件邀請,現有測試人員則會收到電子郵件通知,告知他們有新版本可供測試 (如需安裝測試版應用程式的說明,請參閱測試人員設定指南)。您可以在 Firebase 控制台中,監控每位測試人員的狀態,包括是否接受邀請及下載應用程式。
測試人員必須在邀請失效前接受邀請,否則無法測試應用程式。 如果邀請即將在 5 天後到期,Firebase控制台會在版本測試人員旁邊顯示到期通知。如要重新傳送邀請,請使用測試人員列的下拉式選單。
後續步驟
導入應用程式內意見回饋功能,收集測試人員對應用程式的意見 (包括螢幕截圖)。
瞭解如何在應用程式有新版本可供安裝時,向測試人員顯示應用程式內快訊。
瞭解如何運用持續整合/持續推送軟體更新,將 Android 應用程式發布給 QA 測試人員。