回文章列表

Android App 上架 Google Play 完整教學(2026 年版)

發佈於 2026-09-27 · Keith Lin

第一次把 Android App 上架 Google Play,光是搞懂 Play Console 的各種設定就要花不少時間。這篇文章把從帳號註冊到成功上架的每個步驟都整理出來,搭配實際操作截圖,讓你照著做就能完成。

本文以 Flutter 專案為例,但簽章、商店資訊、內容聲明等步驟適用於所有 Android App。

先看 1 分半影片版含旁白,第一次送審的 6 個步驟

前置:註冊 Google Play Console

Google Play Console 是管理 Android App 上架的後台。如果你還沒有帳號,需要先完成註冊。

Step 1:開啟 Play Console 並登入

前往 play.google.com/console,用你的 Google 帳號登入。建議使用公司專用的 Google 帳號,不要用私人帳號。

部分自訂網域的信箱可能收不到 Google 的驗證信,建議改用 Gmail 註冊。

Step 2:選擇帳戶類型

Google 會問你要建立「個人」還是「機構」帳戶。如果你是公司或團隊,選「機構」(Organization)。機構帳戶需要 D-U-N-S 編號和官網驗證,但上架的 App 會顯示公司名稱,比較正式。

機構帳戶的驗證流程另見「DUNS 驗證申請指南」。

Step 3:填寫開發者資料

填寫開發者名稱、email、電話、地址。紅色星號是必填欄位。這些資訊會出現在商店頁面,請填寫正式的公司資訊。

Step 4:繳費 USD $25

Google 收取一次性的 25 美元註冊費,用信用卡付款。付款後不會立刻通過——機構帳戶還需要完成 D-U-N-S 和官網驗證。

Step 5:完成驗證

機構帳戶需要通過 Google 的身分驗證。驗證通過後,Play Console 首頁會顯示「所有應用程式」,這時就可以開始建立 App 了。

Play Console 首頁 — 驗證通過後可看到「所有應用程式」
Play Console 首頁 — 驗證通過後可看到「所有應用程式」

帳戶只要註冊一次。之後每支新 App 直接從「建立應用程式」開始,不用再繳費或驗證。

§0 命名前先查同名

在寫任何程式碼之前,先確認 App 名稱沒有衝突。Apple 的審查指南 4.1 明確規定:名稱不得與現有 App 過於相似。

  1. 在 App Store 搜尋:itunes.apple.com/search?term=名稱&country=tw&entity=software
  2. 在 Google Play 搜尋:play.google.com/store/search?q=名稱&c=apps
  3. 在台灣商標局 TIPO 查詢:cloud.tipo.gov.tw/S282/
  4. 把識別元素拆開查(例如名稱是「AI 筆記王」,要另外查「筆記王」)

§1 建立 Play Console App 記錄

  1. Play Console → 「建立應用程式」
  2. 填 App 名稱(之後可改)、選語言、選「應用程式」(不是遊戲)
  3. 套件名稱(Package name)非常重要:上架後不能改,且必須和 AAB 裡的 applicationId 完全一致
  4. 勾選聲明 → 建立

§2 Release 簽章設定

Android App 必須用簽章金鑰簽名才能上架。這組金鑰要妥善保管——遺失就無法更新 App。

產生 Keystore

用 keytool 產生 PKCS12 格式的 keystore:

keytool -genkeypair -v -storetype PKCS12 -keystore upload.p12 -alias upload -keyalg RSA -keysize 2048 -validity 10000

PKCS12 的 store 密碼和 key 密碼必須一致,否則 Gradle 建置會報錯。

設定 Gradle

在專案根目錄建 key.properties,寫入 keystore 路徑和密碼。然後在 android/app/build.gradle 裡讀取這個檔案來簽名。記得把 key.properties 加入 .gitignore。

驗證簽章

建置 release 版後,用 jarsigner -verify 確認不是 debug 簽章。如果看到 CN=Android Debug,表示還是 debug 版,要重新檢查 Gradle 設定。

§3 Play App Signing 與指紋登錄

Google 會用自己的金鑰重新簽署你上傳的 AAB。所以有兩組指紋:你的 Upload Key 和 Google 的 Play Signing Key。

兩組指紋都要登錄到你使用的服務(Firebase、OAuth、LINE SDK 等),否則 release 版會登入失敗、推播收不到。這是最容易遺漏的步驟。

  1. Play Console → 設定 → App Signing,複製兩組 SHA-1 和 SHA-256
  2. 到 Firebase Console → 專案設定 → 新增指紋
  3. 到 Google Cloud Console → OAuth 用戶端 → 新增兩組指紋
  4. 到 LINE Developer Console → 新增兩組指紋
  5. 用 release 版實際測試 Google 登入、LINE 登入、FCM 推播

§4 服務帳戶授權

如果你需要用 API 自動化管理 App(例如自動上傳 AAB),需要設定服務帳戶。

  1. Google Cloud Console → IAM → 服務帳戶 → 建立
  2. Play Console → 設定 → API 存取權 → 連結 GCP 專案
  3. 新增服務帳戶並授權
  4. 重要:授權最後一步會問「是否授予存取權?」→ 一定要按「是」

GCP 專案一開始就啟用 Play Developer Reporting API(playdeveloperreporting.googleapis.com),之後查評論和統計會用到。

§5 內部測試

第一版 App 先上內部測試軌道。內部測試不需要 Google 審查,上傳後立刻可用,最多 100 位測試員。

內部測試軌道 — 上傳 AAB 後可直接發布,不需審查
內部測試軌道 — 上傳 AAB 後可直接發布,不需審查

新 App 的 releaseNotes 先傳空字串:商店資訊還沒建語系,帶 notes 會被擋。

§6 商店資訊

商店資訊就是使用者在 Google Play 看到的 App 頁面。每個語系都要分別填寫。

Play Console 商店資訊頁面 — 填寫名稱、簡短說明、完整說明
Play Console 商店資訊頁面 — 填寫名稱、簡短說明、完整說明

隱私權政策 URL 是必填的。內容必須涵蓋 App 實際使用的權限和資料收集範圍。部署後用 curl 確認 URL 回 200 再填。

§7 App 內容聲明(10 項)

Play Console 的「應用程式內容」有 10 個聲明要填。這些聲明有依賴順序,順序不對會看到空白頁。

建議順序:廣告 + 登入詳細資料 → 目標對象 → 資料安全性 → 其他

  1. 廣告聲明:App 有無廣告
  2. 廣告 ID 聲明:檢查 merged manifest 有無 AD_ID
  3. 登入詳細資料:提供審查帳號和英文操作說明
  4. 目標對象和內容:選 18+
  5. 資料安全性:建議用 CSV 匯入,可跨 App 共用模板
  6. 內容分級 IARC:填完問卷後摘要頁要按儲存
  7. 金融功能聲明
  8. 政府應用程式聲明
  9. 健康應用程式聲明
  10. 全螢幕意圖:有 USE_FULL_SCREEN_INTENT 權限才要填
App 內容聲明 — 所有項目都要完成
App 內容聲明 — 所有項目都要完成
資料安全性 — 逐項填寫資料收集與分享用途
資料安全性 — 逐項填寫資料收集與分享用途
登入詳細資料 — 提供審查帳號與英文操作說明
登入詳細資料 — 提供審查帳號與英文操作說明
內容分級 IARC — 填完問卷後摘要頁要按儲存
內容分級 IARC — 填完問卷後摘要頁要按儲存

「已完成」只代表有作答,不代表答得對。每一項都要點開「編輯」逐題核對。

填登入詳細資料前,先實測那組帳密真的登得進正式站。審查帳號若裝置數已滿會登不進去。

§8 類別與國家地區

選擇適當的 App 類別,需選至少 1 個標記。

國家地區全選後取消中國大陸,最終約 176 個國家。簡體中文語系仍保留,供新加坡、馬來西亞等地使用者使用。

§9 首次送審

確認設定任務全部完成(發布總覽無缺項)後就可以送審。

Play Console 有四種發布軌道:

送審步驟

  1. 在目標軌道建立新版本
  2. 選擇國家地區、設定測試人員
  3. 編輯版本 → 下一步 → 確認「已可發布」→ 儲存
  4. 發布總覽 → 「送審 N 項變更」→「將變更送審」
發布總覽 — 確認所有項目無缺後送審
發布總覽 — 確認所有項目無缺後送審

標題變成「審查中的變更」就表示送審成功了。

審查中再送新版會取消並重排整個審查。首次上架期間新版先只上內部測試。

§10 發新版流程

App 上架後,每次更新版本的流程:

  1. 調高 pubspec.yaml 的版號
  2. flutter build appbundle --release 產出 AAB
  3. 上傳到目標軌道(建議先上封閉測試)
  4. 自己用 release 版實走一輪驗證
  5. 沒問題後推正式版
  6. 確認商店可下載新版後才開啟強制更新

§11 強制更新機制

每支 App 都要內建版本檢查。啟動時和回到前景時呼叫版本 API,如果低於最低版本就彈出不可關閉的對話框,引導使用者去商店更新。

尚未上架的平台不要開強制更新。上架後確認商店真的能下載新版,兩個平台各打一次版本 API 驗證後才打開。

§12 評分彈窗

使用官方 In-App Review API(Flutter 用 in_app_review 套件)。在使用者完成一次有價值的動作後觸發,不在首次開啟或錯誤時跳出。

§13 多語系與 ASO

App 介面做多語系(i18n),字串走字典檔,不寫死在畫面。RTL 語系(阿拉伯文、波斯文、希伯來文、烏爾都文)版面用 start/end。

ASO(App Store Optimization):各語系分別填寫名稱、副標、關鍵字、說明。截圖文字也要在地化。隱私權和支援網址指向官網。

§14 建置環境注意事項

常見問題

套件名衝突

Package name 上架後不能改。如果和別人衝突,只能建新的 App 記錄。建議用反向網域命名(如 studio.autoit.appname)。

指紋漏登錄

Google 登入回 DEVELOPER_ERROR、LINE 回 channel not found — 最常見的原因就是 Play Signing Key 的指紋沒有登錄到對應的服務。記得 Upload Key 和 Play Signing Key 兩組都要登。

審查帳號登不進去

Google 審查人員用你提供的帳號登入 App 來測試。如果那組帳號有裝置數量限制(例如同時最多 5 台),而你自己的測試裝置已經佔滿,審查人員就會登不進去 → 直接退件。

內容分級沒儲存

IARC 問卷的最後一頁(摘要頁)有一個「儲存」按鈕,很容易漏按。沒按的話分級不會生效,送審會被擋。

App 圖示顯示 Flutter 預設圖

記得替換 android/app/src/main/res/ 底下的 launcher icon。通知小圖示也要一起換。

送審前檢查清單

每次送審前逐項確認:

以上就是 Android App 上架 Google Play 的完整流程。第一次上架最花時間的是帳號驗證和內容聲明,之後發新版就快多了。祝上架順利!

AndroidGoogle PlayFlutterApp 上架教學

← 回文章列表