Google Play Developer API 可讓您為應用程式上傳新的 APK,並發布至不同的測試群組。如此一來,您可以部署應用程式的 Alpha 和 Beta 版,提供給已核准的使用者。這也可讓您部署階段推出版本,自動提供給少數應用程式使用者。發布階段推出版本後,您可以逐步增加取得該應用程式版本的使用者人數,直到您最終將該版本部署為「正式版」為止。
新增及修改 APK
呼叫 Edits.apks: upload 方法,上傳一或多個 APK。
這個方法會將 APK 上傳至儲存空間「值區」,並指派給「測試群組」,以便向使用者部署。(如果編輯內容遭到刪除或捨棄,上傳至該編輯項目的 APK 也會全部遺失)。
呼叫 Edits.tracks: update,藉此在「tracks」上發布 APK。您可以在下列測試群組中發布 APK:
測試群組,例如
"alpha"
和"beta"
系統會將應用程式的 Alpha 和 Beta 版本部署到您指派給 Alpha 和 Beta 測試群組的使用者。您可以透過 Google Play 管理中心將使用者指派給這些群組。
內部測試群組:
"internal"
應用程式的內部版本會依照 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 版本,在另一天建立階段版本,依此類推)。
- 按照編輯工作流程所述,開啟新的編輯內容。
- 為每個您要上傳的 APK 呼叫 Edits.apks: upload 方法。將 APK 傳遞至方法的要求主體中。(這會將 APK 放在儲存空間區域中,但不會在測試群組中發布或部署)。這個方法會為您上傳的每個 APK 傳回版本代碼;在測試群組中發布應用程式時,您必須使用此版本代碼來參照 APK。
為每個要發布 APK 的測試群組呼叫 Edits.tracks: update 方法。在要求主體中,傳遞包含您要推出版本的 Edits.tracks 資源。舉例來說,如要發布版本代碼為 88 的 APK:
{ "releases": [{ "versionCodes": ["88"], "status": "completed" }] }
目前使用者仍無法使用該 APK。和其他編輯內容一樣,在您提交之前,這些變更不會正式上線。
呼叫 Edits: Commit 方法以修訂變更。完成這項操作後,每個測試群組中的使用者都會取得該 APK 的更新版本。(和所有編輯內容一樣,變更可能需要幾個小時才會生效)。
階段推出
如要逐步部署新的 APK 版本,您可以選擇將其發布為「階段推出」版本。這麼一來,Google Play 就會自動將其部署至您指定的應用程式使用者比例。如果「推出」APK 沒有任何問題 (例如當機等),您可以增加收到該版本的使用者比例;準備就緒後,即可部署該 APK 做為新的正式版版本。
本節說明執行 APK 階段推出的步驟,然後將其推送至正式版的步驟:
按照編輯工作流程所述建立編輯內容。
使用 Edits.apks: upload 方法,將新的 APK 上傳至編輯內容。
使用 Edits.tracks: update 方法,在正式版群組上啟動
"inProgress"
階段版本。選擇要收到新 APK 的使用者比例。此時,所有使用者仍可使用 APK。{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
呼叫 Edits: 修訂,修訂使用中編輯的變更內容。在接下來幾小時內,我們將會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。
視階段推出的成效而定,您可能會想增加符合該版本使用資格的使用者百分比,或暫停發布版本。
提高階段推出作業的使用者人數比例
假設您正如上一節所述,分階段推出比例為 5%,本節說明如何在版本順利的情況下提高百分比:
按照編輯工作流程所述建立編輯內容。
使用 Edits.tracks: update 方法,變更正式版群組上的
"inProgress"
階段版本。增加應接收新 APK 的使用者比例:{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
呼叫 Edits: 修訂,修訂使用中編輯的變更內容。在接下來幾小時內,我們將會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。
暫停階段推出作業
假設您已按照上一節所述進度在 5% 進行階段推出,本節將說明如何在發現問題時暫停階段推出:
按照編輯工作流程所述建立編輯內容。
使用 Edits.tracks: update 方法,變更正式版群組上的
"inProgress"
階段版本。將狀態設為"halted"
。{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
呼叫 Edits: 修訂,修訂使用中編輯的變更內容。您的版本將不會再提供給新使用者。
如果您之後決定繼續執行已暫停的版本,可以將狀態改回 "inProgress"
。
完成階段推出
當您滿意階段推出作業,且希望向所有使用者推出該版本時,您可以將版本狀態設為 "completed"
:
按照編輯工作流程所述建立編輯內容。
使用 Edits.tracks: update 方法,變更正式版群組上的
"inProgress"
階段版本。將狀態設為"halted"
。{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
呼叫 Edits: 修訂,修訂使用中編輯的變更內容。在接下來幾小時內,我們將會向使用者推出新的 APK。您選取的使用者比例將收到新的 APK。
草稿版本
草稿版本可讓您自動上傳 APK 並透過 API 建立版本,之後再透過 Google Play 管理中心部署。如何在測試群組中建立草稿版本:
- 按照編輯工作流程所述,開啟新的編輯內容。
- 為每個您要上傳的 APK 呼叫 Edits.apks: upload 方法。將 APK 傳遞至方法的要求主體中。這個方法會針對您上傳的每個 APK 傳回版本代碼;您要將其指派給版本時,都會使用這個版本代碼來參照 APK。
針對要發布的每個測試群組,呼叫 Edits.tracks: update 方法。在要求主體中,傳遞 Edits.tracks 資源,其中包含您要建立的草稿版本。例如:
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
呼叫 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."} ] }] }