APK 和測試群組

Google Play Developer API 可讓您為應用程式上傳新的 APK,並發布至不同的測試群組。如此一來,您就可以部署應用程式的 Alpha 和 Beta 版,供已核准的使用者使用。這也可讓您部署階段推出版本,這類版本會自動提供給少數應用程式的使用者使用。發布階段推出版本後,您可以逐步增加取得該應用程式版本的使用者人數,直到最後將該版本部署為「正式版」。

新增及修改 APK

  1. 呼叫 Edits.apks: upload 方法,上傳一或多個 APK。

    這個方法會將 APK 上傳至儲存空間「值區」,並在該儲存空間中指派給「測試群組」,以便為使用者進行部署。(如果編輯內容遭到刪除或捨棄,所有上傳至該編輯內容的 APK 也會一併遺失)。

  2. 呼叫 Edits.tracks: update,即可在「tracks」上發布 APK。您可以在下列測試群組中發布 APK:

    • 測試群組,例如 "alpha""beta"

      應用程式的 Alpha 和 Beta 版會部署至您指派給 Alpha 和 Beta 測試群組的使用者。您可以透過 Google Play 管理中心將使用者指派給這些群組。

    • 內部測試群組:"qa"

      應用程式的內部版本會部署至內部測試群組,如 Google Play 管理中心設定。

    • 正式版群組:"production"

      「正式版」群組中的版本會部署至所有使用者。您可以在「正式版」測試群組上使用階段版本,安全地先向一小部分的正式版使用者部署版本,然後再隨著對版本的信心增加而逐漸提高比例。

    簡易模式使用者不應在任一測試群組中放置多個 APK,使用支援多個 APK 的進階模式使用者可以為每個測試群組上傳零個、一或多個 APK。

板型規格測試群組的測試群組名稱

板型規格測試群組的測試群組名稱前方會加上特定 ID。

板型規格 前置字串
Android Automotive OS 機動車輛
Wear OS Wear
Android TV 電視

如何計算特定板型規格測試群組的測試群組名稱?

正式版、公開測試和內部測試群組等常見的測試群組類型都有知名的測試群組名稱。

追蹤類型 預設測試群組名稱
投入正式環境 製片
公開測試 Beta 版
內部測試 qa

特定板型規格測試群組的測試群組名稱可的計算方式為:"[prefix]:defaultTrackName"。舉例來說,Wear OS 板型規格的測試群組名稱為:"wear:production""wear:beta""wear:qa"

系統會手動建立封閉測試群組,而且這些測試群組設有自訂名稱。因此,如果是名稱為 $name 的板型規格,封閉測試群組的名稱會是 "[prefix]:$name"

APK 工作流程範例

本節說明 Tracks API 的一般使用方式。在此情況下,我們假設您要為每個測試群組上傳新版 APK,並指派一些使用者接收階段推出版本。(實際上,開發人員不太可能在同一作業中執行所有動作;而是可以在某一天更新 Beta 版,另一天在「正式版」中建立分階段版本,以此類推)。

  1. 按照編輯工作流程的說明開啟新的編輯作業
  2. 針對您要上傳的每個 APK 呼叫 Edits.apks: upload 方法。請在方法的要求主體中傳遞 APK。(這樣會將 APK 置於儲存空間區域,但不會發布至測試群組或進行部署)。這個方法會傳回您上傳的每個 APK 的版本代碼;在測試群組中發布 APK 時,您可以使用這個版本代碼來參照 APK。
  3. 針對您要發布 APK 的每個測試群組,呼叫 Edits.tracks: update 方法。在要求主體中,傳遞包含您要推出版本的 Edits.tracks 資源。舉例來說,如要發布版本代碼為 88 的 APK:

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }
    

    現階段,使用者依然無法使用 APK。與其他編輯項目一樣,變更必須經過您提交後才會生效。

  4. 呼叫 Edits: Commit 方法來修訂變更。完成這項操作後,每個測試群組的使用者都會取得更新後的 APK。(和所有編輯一樣,變更可能需要數小時才會生效)。

階段推出

如果想要逐步部署新版 APK 時,您可以選擇以「階段推出」版本的形式發布。這樣一來,Google Play 就會自動將應用程式部署至您指定的使用者指定比例。如果「推出」APK 沒有任何問題 (例如當機等問題),就可能會增加接收該版本的使用者比例;準備就緒後,即可將該 APK 部署為新的正式版。

本節說明逐步推出 APK 並升級至正式版的步驟:

  1. 按照編輯工作流程的說明建立編輯。

  2. 使用 Edits.apks: upload 方法,將新的 APK 上傳到編輯中。

  3. 使用 Edits.tracks: update 方法,在正式版群組中啟動 "inProgress" 階段版本。選擇應接收新 APK 的使用者比例。目前任何使用者都無法使用 APK。

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }
    

  4. 呼叫 Edits: Commit,即可修訂目前編輯中的變更。在接下來幾小時內,系統就會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。

視階段推出的成效而定,建議您提高可採用該版本的使用者百分比或停止發布。

提高階段推出的使用者比例

假設您在上一節所述,進行中的階段推出作業進度為 5%,本節說明如何在版本良好的情況下提高百分比:

  1. 按照編輯工作流程的說明建立編輯。

  2. 使用 Edits.tracks: update 方法,變更正式版測試群組的 "inProgress" 階段版本。增加應接收新 APK 的使用者比例:

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }
    

  3. 呼叫 Edits: Commit,即可修訂目前編輯中的變更。在接下來幾小時內,系統就會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。

暫停階段推出作業

假設您正如上一節所述,目前以 5% 的比例進行階段推出,本節說明如何在發現問題時暫停階段推出:

  1. 按照編輯工作流程的說明建立編輯。

  2. 使用 Edits.tracks: update 方法,變更正式版測試群組的 "inProgress" 階段版本。將狀態設為 "halted"

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }
    

  3. 呼叫 Edits: Commit,即可修訂目前編輯中的變更。新使用者將無法再取得您的版本。

如果您之後決定恢復已暫停的版本,可以將其狀態設為 "inProgress" 即可。

完成階段推出

如果對階段推出作業感到滿意,並想向 100% 的使用者推出版本,就可以將版本狀態設為 "completed"

  1. 按照編輯工作流程的說明建立編輯。

  2. 使用 Edits.tracks: update 方法,變更正式版測試群組的 "inProgress" 階段版本。將狀態設為 "completed"

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }
    

  3. 呼叫 Edits: Commit,即可修訂目前編輯中的變更。在接下來幾小時內,系統就會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。

草稿版本

草稿版本可讓您自動上傳 APK 並透過 API 建立版本,之後可透過 Google Play 管理中心部署。如要在測試群組中建立草稿版本,請按照下列步驟操作:

  1. 按照編輯工作流程的說明開啟新的編輯作業
  2. 針對您要上傳的每個 APK 呼叫 Edits.apks: upload 方法。將 APK 傳遞至方法的要求主體。這個方法會傳回您上傳的每個 APK 的版本代碼;將 APK 指派給版本時,您可以使用這個版本代碼來參照 APK。
  3. 針對您要發布的每個測試群組,呼叫 Edits.tracks: update 方法。在要求主體中,傳遞包含您要建立的草稿版本的 Edits.tracks 資源。例如:

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }
    

  4. 呼叫 Edits: Commit 方法來修訂變更。您現在可以透過 Google Play 管理中心或 API 檢查及推出草稿版本。

指定版本資訊

發布應用程式的新版本時,您可以指定版本的版本資訊,強調使用者新推出的功能。

方法是在為 Edits.tracks: update 方法提供 Edits.tracks 資源時,使用 "releaseNotes" 欄位。

{
  "releases": [{
      "name": "Release with notes",
      "versionCodes": ["88"],
      "status": "completed",
      "releaseNotes": [
        {"language": "en-US", "text": "Describe what's new in this release."}
      ]
  }]
}