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

本指南說明如何使用 Firebase CLI,將 Android App Bundle (AAB) 發布給測試人員。CLI 工具可讓您為版本指定測試人員和版本資訊,然後據此發布版本。

應用程式發布功能會與 Google Play 的內部應用程式分享服務整合,以處理您上傳的 AAB,並提供針對測試人員裝置設定最佳化的 APK。發布 AAB 可讓您執行下列操作:

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

  • 找出裝置相關問題並進行偵錯。

  • 測試應用程式套件功能,例如 Play Feature DeliveryPlay Asset Delivery

  • 請為測試人員縮減下載大小。

所需權限

如要將 AAB 上傳至應用程式發布,您必須將 Firebase 應用程式連結至 Google Play 中的應用程式。您必須具備必要的存取層級,才能執行這些動作。

如果您沒有所需的 Firebase 存取權,可以要求 Firebase 專案擁有者透過 Firebase 控制台的身分與存取權管理設定,指派適用的角色。如果您對 Firebase 專案存取方式有任何疑問,包括如何尋找或指派擁有者,請參閱「Firebase 專案的權限和存取權」常見問題

下表說明如何將 Firebase 應用程式連結至 Google Play 中的應用程式,以及上傳 AAB。

在 Firebase 控制台中執行的動作 必要的 IAM 權限 預設包含必要權限的 IAM 角色 其他必要角色
將 Firebase 應用程式連結至 Google Play 中的應用程式 firebase.playLinks.update 下列其中一個角色: 管理員身分存取 Google Play 開發人員帳戶
將 AAB 上傳至「應用程式發布」 firebaseappdistro.releases.update 下列其中一個角色: ––

事前準備

  1. 如果您尚未將 Firebase 新增至 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 控制台中,前往 「Project settings」(專案設定),然後選取「Integrations」(整合) 分頁標籤。

    2. 按一下「Google Play」資訊卡中的「連結」
      如果已有 Google Play 連結,請改為點選「管理」

    3. 按照畫面上的指示啟用「應用程式發布」整合功能,並選取要連結至 Google Play 的 Firebase Android 應用程式。

    進一步瞭解如何連結至 Google Play

步驟 1:建構應用程式

當您準備好將應用程式的預先發布版發布給測試人員時,請建構 AAB (詳情請參閱 Android Studio 說明文件)。

步驟 2:將應用程式發布給測試人員

如要將應用程式發布給測試人員,請使用 Firebase CLI 上傳應用程式檔案:

  1. 安裝或更新至最新版 Firebase CLI (建議您下載 OS 專用的獨立二進位檔)。 請務必登入並測試您是否能存取專案。
  2. 在 Firebase 控制台的「應用程式發布」頁面中,選取要發行的應用程式,然後按一下「開始使用」
  3. 執行 appdistribution:distribute 指令,上傳應用程式並發布給測試人員。使用下列參數設定分佈:

    應用程式發行:發行選項
    --app

    必要:應用程式的 Firebase 應用程式 ID。您可以在 Firebase 控制台的「一般設定」頁面中找到應用程式 ID。

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

    透過 Firebase CLI 驗證持續整合環境時,畫面上顯示的更新權杖,詳情請參閱「搭配使用 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

    下列發布類型屬於自動化測試人員 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 控制台就會顯示到期通知。您可以使用測試人員列的下拉式選單重新傳送邀請,藉此續訂。

後續步驟