使用 Firebase CLI 將 Android 應用程式分發給測試人員

本指南說明如何使用 Firebase CLI 向測試人員分發 Android App Bundles (AAB)。 CLI 工具可讓您為建置指定測試人員和發行說明,然後相應地分發建置。

App Distribution 與 Google Play 的內部應用程式共享服務集成,以處理您上傳的 AAB 並提供針對測試人員的裝置配置進行最佳化的 APK。分發 AAB 可讓您執行以下操作:

  • 執行針對測試人員裝置進行最佳化的最佳化 APK(由 Google Play 提供)。

  • 發現並調試特定於設備的問題。

  • 測試應用程式套件功能,例如Play Feature DeliveryPlay 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 上傳到應用程式分發firebaseappdistro.releases.update以下角色之一:––

在你開始之前

  1. 如果您尚未將 Firebase 新增至您的 Android 專案中,請將其新增至您的 Android 專案中。在此工作流程結束時,您的 Firebase 專案中將擁有一個 Firebase Android 應用程式。

    如果您沒有使用任何其他 Firebase 產品,則只需建立一個專案並註冊您的應用程式。如果您決定使用其他產品,請務必完成將 Firebase 新增至您的 Android 專案中的所有步驟。

  2. 若要建立指向 Google Play 的 Firebase 連結並上傳 AAB,請確保您的應用程式符合以下要求:

    • Google Play 中的應用程式和 Firebase Android 應用程式均使用相同的套件名稱註冊。

    • Google Play 中的應用程式在應用程式儀表板上設置,並分發到 Google Play 軌道之一(內部測試、封閉測試、開放測試或生產)。

    • 該應用程式在 Google Play 中的審核已完成並已發布。如果應用程式狀態列顯示下列狀態之一,則您的應用程式已發布:內部測試(不是草稿內部測試)、封閉測試、開放測試或生產。

  3. 將您的 Firebase Android 應用程式連結到您的 Google Play 開發者帳戶:

    1. 在 Firebase 控制台中,前往您的項目設置,然後選擇整合選項卡。

    2. Google Play卡上,點選連結
      如果您已有 Google Play 鏈接,請點擊「管理」

    3. 按照螢幕上的指示啟用應用程式分發整合並選擇要連結到 Google Play 的 Firebase Android 應用程式。

    了解有關連結到 Google Play 的更多資訊。

步驟 1. 建立您的應用程式

當您準備好向測試人員分發應用程式的預發布版本時,請建立您的 AAB(請造訪Android Studio 文件以取得說明)。

步驟 2. 將您的應用程式分發給測試人員

若要將您的應用程式分發給測試人員,請使用 Firebase CLI 上傳已套用的檔案:

  1. 安裝或更新至最新版本的Firebase CLI (我們建議下載特定於您作業系統的 CLI 的獨立二進位)。確保登入並測試您是否可以存取您的項目。
  2. 在 Firebase 控制台的「應用程式分發」頁面中,選擇要分發的應用程序,然後點擊「開始」
  3. 執行appdistribution:distribute命令上傳您的應用程式並將其分發給測試人員。使用以下參數來配置分發:

    appdistribution:分發選項
    --app

    必需:您套用的 Firebase 應用程式 ID。您可以在 Firebase 控制台的「常規設定」頁面上找到應用程式 ID。

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    當您使用 Firebase CLI 對 CI 環境進行身份驗證時列印的刷新令牌(有關詳細信息,請參閱將 CLI 與 CI 系統結合使用)。

    --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

    以下分發類型是自動測試程式 beta 功能的一部分。

    您想要將建置分發到的測試設備(請參閱自動化測試)。

    您可以將測試人員指定為以逗號分隔的電子郵件地址清單:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,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 控制台以取得自動測試結果。

    例如:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    Firebase CLI 在版本上傳後輸出以下連結。這些連結可協助您管理二進位檔案並確保測試人員和其他開發人員擁有正確的版本:

    • firebase_console_uri - 顯示單一版本的 Firebase 控制台的連結。您可以與組織中的其他開發人員分享此連結。
    • testing_uri - 測試人員體驗(​​Android 本機應用程式)中版本的鏈接,可讓測試人員查看發行說明並將應用程式安裝到其裝置上。測試人員需要存取該版本才能使用該連結。
    • binary_download_uri - 直接下載並安裝應用程式二進位檔案(APK 或 AAB 檔案)的簽章連結。該連結在一小時後過期。

    管理測試人員和群組

    除了分發版本之外,您還可以使用appdistribution:testers:addappdistribution:testers:remove邀請新測試人員或從 Firebase 專案中刪除現有測試人員。

    將測試人員新增至您的 Firebase 專案後,您可以將他們新增到單獨的版本中。一旦您刪除測試人員,他們將無法再存取您專案中的版本。請注意,最近被刪除的測試人員仍然可以在一段時間內保留對您的版本的存取權。

    例如:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    測試人員電子郵件必須以空格分隔。您也可以使用--file /path/to/testers.txt指定測試人員。

    如果您有大量測試人員,則應考慮使用群組:您可以使用appdistribution:group:createappdistribution:group:delete在 Firebase 專案中建立或刪除群組。

    使用--group-aliasappdistribution:testers:addappdistribution:testers:remove指令指定群組。

    例如:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

分發建置後,它會在 Firebase 控制台的應用程式分發儀表板中可用 150 天(五個月)。當建置版本距離到期日還有 30 天時,控制台和測試人員在其測試設備上的建置版本清單中都會顯示到期通知。

未受邀測試應用程式的測試人員會收到開始測試的電子郵件邀請,現有測試人員會收到新版本已準備好測試的電子郵件通知(請閱讀測試人員設定指南,以了解如何安裝測試應用程式的說明)。您可以在 Firebase 控制台中監控每個測試人員的狀態 - 他們是否接受邀請以及他們是否下載了應用程式。

測試人員有 30 天的時間接受邀請來測試該應用程序,然後該應用程式就會過期。當邀請在 5 天後到期時,Firebase 控制台中發布的測試人員旁邊會顯示到期通知。可以透過使用測試者行上的下拉式選單重新發送邀請來更新邀請。

下一步