1. 歡迎
在這個研究室中,您會使用現有的已部署漸進式網頁應用程式,並將該應用程式包裝至應用程式中,再透過 Google Play 商店發布。
課程內容
- 如何使用 Bubblewrap 針對 Google Play 商店建立漸進式網頁應用程式
- 簽署金鑰的定義和使用方式
- 如何在 Google Play 中建立新的應用程式,以及如何設定測試版本,以便在發布前測試應用程式
- 什麼是數位資產連結,以及如何將這些連結加入你的 WebView
注意事項
- 什麼是漸進式網路應用程式
- 如何使用指令列工具
- 基本的 Bash 殼層指令,或如何將指令轉換成您選擇的殼層
軟硬體需求
- 這個漸進式網頁應用程式已在網際網路上發布,您可以修改下列內容:
- 已安裝 Bubblewrap 指令列介面並可供使用
- Google Play 開發人員帳戶
- 現有的簽署金鑰 (如果您已在 Google Play 中推出應用程式)
- 要測試的 Android 或 Chrome 作業系統裝置
無法涵蓋的項目
2. 您的 PWA 打包
Bubblewrap 能讓您將漸進式網路應用程式納入 Android App Bundle,就像執行幾項 CLI 指令一樣。方法很簡單,只要產生一個 Android 專案,即可透過信任的網路活動啟動 PWA。
若要開始使用,請為專案建立目錄,並將該目錄加入其中:
$ mkdir my-pwa && cd my-pwa
接著,執行 Bubblewrap 指令列工具,為要上傳到 Play 的 Android App Bundle 產生設定和 Android 專案:
$ bubblewrap init --manifest=https://my-pwa.com/manifest.json
Bubblewrap 會在初始化 PWA 與 Web App Manifest 檔案的位置進行初始化。這項操作會從「網頁應用程式資訊清單」產生預設設定,並啟動控制台精靈,讓您變更預設設定。按照精靈變更工具產生的任何值。
簽署金鑰
Google Play 商店要求應用程式套件在上傳時須使用憑證數位簽署 (通常稱為簽署金鑰)。這是自行簽署的憑證,與透過 HTTPS 提供應用程式的憑證不同。
Bubblewrap 會在建立應用程式時要求您提供金鑰的路徑。若您現有的應用程式資訊已用於應用程式,那麼您必須將該路徑加入該清單所使用的金鑰。
如果您沒有 Play 簽署金鑰,且正在 Play 商店建立新商店資訊,您可以使用 Bubblewrap 提供的預設值,讓該金鑰為您建立新的金鑰:
輸出氣泡輸出
初始化 Bubblewrap 專案並完成精靈後,系統會建立下列項目:
- twa-manifest.json:專案設定,反映 Bubblewrap 精靈選擇的值。建議您使用版本控制系統追蹤這個檔案,因為必要時可以再產生整個 Bubblewrap 專案。
- Android 專案檔案 - 目錄中的其餘檔案是系統產生的 Android 專案。這項專案是 Bubblewrap 建構指令的來源。您也可以選擇使用版本控制系統追蹤這些檔案。
- (選擇性) 簽署金鑰 - 如果您選擇由 Bubblewrap 為您建立簽署金鑰,金鑰就會輸出至精靈中說明的位置。請務必將金鑰存放在安全的地方,並限制可存取該金鑰的使用者人數;這是使用金鑰證明 Play 商店上的應用程式是由您提供。
現在有了這些檔案,我們就能建立 Android App Bundle 所需的一切功能。
打造 Android App Bundle
在執行 Bubblewrap's 初始化指令的同一個目錄中,執行下列指令 (您必須要有簽署金鑰的密碼):
$ bubblewrap build
建構指令會產生兩個重要檔案:
- app-release-bundle.aab - 您的 PWA's Android App Bundle。這就是您要上傳到 Google Play 商店的檔案。
- app-release-Signed.apk - 一種 Android 封裝格式,可使用
bubblewrap install
指令將應用程式直接安裝至開發裝置。
3. 馬上試試 - Bubblewrap
現在輪到你了!請使用先前步驟所學,嘗試完成下列事項:
- 建立目錄以存放您產生的 Android 專案。
- 使用 Bubblewrap 和 PWA 的 Web Manifest 來初始化該目錄。
- 產生新的簽署金鑰,或使用現有的金鑰 (如有)。
- 使用產生的 Android 專案建立 Android App Bundle。
4. 將您的應用程式加入 Google Play 商店
您的 PWA 現已推出 Android App Bundle,現在可以將該檔案上傳到 Google Play 商店了!註冊開發人員帳戶後,您可以前往 Play 管理中心登入並開始設定。
建立應用程式
登入後,您就會看到一個畫面,其中會列出您的所有應用程式。畫面頂端會顯示「建立應用程式」按鈕。只要點選該按鈕,畫面就會顯示以下畫面,引導您建立新的 Android 應用程式資訊。
這裡有眾多欄位可供填寫,包括應用程式名稱、預設語言、應用程式/遊戲、免費或付費應用程式,以及多種聲明內容。您必須同意這些聲明,才能建立應用程式。因此,請務必先詳閱這些說明並予以瞭解,再同意這些聲明。
填妥所有資訊,然後按一下表單底部的 [建立應用程式] 按鈕後,系統就會將您帶往新應用程式的資訊主頁。在資訊主頁中,您會看到設定、執行測試及發布應用程式所須完成的工作檢查清單。
設定內部測試
執行內部測試是將應用程式快速發布的絕佳方式,不必讓您選取的一群測試人員接受審查。查看「立即開始測試」檢查清單中的工作,然後選取 [選取測試人員]。
按一下該工作,即可前往「內部測試」頁面。您可以在這裡管理應用程式的測試設定。如要開啟這項功能,請在側欄的「版本」選單底下開啟「測試」部分。首先,您必須建立測試人員的電子郵件名單來測試應用程式。如要這麼做,請在頁面的「測試人員」部分中點選 [建立電子郵件名單] 連結。這樣就會開啟彈出式視窗,供您建立電子郵件名單。
在這個彈出式視窗中,您會為電子郵件名單命名,並且可以手動輸入電子郵件地址,也可以上傳 CSV 檔案來使用。完成後,請按一下 [儲存變更] 按鈕。您可以返回先前建立的電子郵件清單,視需要新增或移除電子郵件地址。新增測試人員後,您就可以開始建立測試版。按一下頁面頂端的 [建立新版本] 按鈕。
建立測試版
按一下 [建立新版本] 按鈕後,系統會要求您瀏覽幾個部分。第一種是「應用程式完整性」,可讓您選擇管理應用程式簽署金鑰的方式。預設選項是讓 Google 管理你的簽署金鑰。由於這是安全的上傳選項,因此即使遺失上傳金鑰,應用程式也能順利還原。
Play 應用程式簽署
上傳及敲定應用程式
選擇管理簽署金鑰的管理方式後,系統會要求您將應用程式套件上傳至版本。如要這麼做,請將 Bubblewrap 產生的 app-release-bundle.aab 檔案拖曳至表單中。如要完成發布,請填入其他版本詳細資訊,然後依序按一下 [儲存] > [檢查版本],最後再點選 [開始推出內部測試] 按鈕,開始發布版本。以便內部測試人員存取您的應用程式!返回「內部測試」頁面的「測試人員」分頁中,您可以複製連結並提供給測試人員,讓對方存取您的應用程式。
5. 馬上試試 - 建立應用程式
現在輪到你了!請使用先前步驟所學,嘗試完成下列事項:
- 在 Play 管理中心為 PWA 建立新的應用程式。
- 為應用程式設定內部測試,並將自己新增為測試人員。
- 上傳應用程式套件,並為您的應用程式建立測試版。
- 使用測試連結在 Android 或 Chrome 作業系統裝置上安裝 Play 商店應用程式!
6. 數位資產連結
如果你已在 Google Play 中測試 PWA,可能會發現該遊戲並未以全螢幕顯示。你尚未透過數位資產連結檔案驗證網站擁有權。雖然 Bubblewrap 可以設定及建立 Android 應用程式套件,但您必須更新網頁應用程式才能完成連結。
取得您應用程式的 SHA-256 指紋
如要設定 PWA 的數位資產連結,您需要用於簽署使用者在手機上接收的套件憑證,以取得憑證的 SHA-256 指紋。
使用 Play 應用程式簽署功能
如果您在建立版本時 (先前) 為應用程式設定了 Play 應用程式簽署功能,可以在 Play 管理中心找到 SHA-256 指紋。提醒您,這個憑證與用來上傳應用程式的憑證不同。如要取得指紋,請在 Play 管理中心的應用程式中前往「版本 - 設定應用程式」。「應用程式簽署金鑰憑證」底下會列出多個選項。複製 SHA-256 憑證指紋的值。
不使用 Play 應用程式簽署功能
如果您選擇停用 Play 應用程式簽署功能,用於簽署最終應用程式的金鑰就會與您用來將應用程式上傳至 Play 管理中心的金鑰相同。您可以使用 Java's keytool 擷取指紋:
$ keytool -list -v \
-keystore <keystore-file-path> \
-alias <key-alias> \
-keypass <key-password> \
-storepass <store-password> | grep SHA256
$ SHA256: BD:92:64:B0:1A:B9:08:08:FC:FE:7F:94:B2...
如要使用這個選項,您必須瞭解簽署金鑰的路徑和相關的密碼。複製 SHA256 金鑰的十六進位值。
建立數位資產連結檔案
Bubblewrap 可以管理您擷取的簽名指紋,並為您產生正確的 Digital Asset Links 檔案。如要使用 Bubblewrap 新增指紋,請在 Bubblewraping Your PWA 中建立的目錄內執行下列指令,並將 <fingerprint>
替換為您在前一個步驟中複製的指紋。
$ bubblewrap fingerprint add <fingerprint>
這個指令會將指紋新增至應用程式的指紋清單,並產生 assetlinks.json 檔案。將這個檔案上傳至 PWA 的「來源」中的 .well-known 目錄。
7. 馬上試試 - 數位資產連結
現在輪到你了!請使用先前步驟所學,嘗試完成下列事項:
- 找出應用程式的 SHA-256 指紋。
- 產生應用程式的 Digital Asset Links 檔案。
- 將 Digital Asset Links 檔案上傳到 PWA。
- 使用 API 和測試應用程式,確認已正確設定 Digital Asset Links 檔案。
8. 測試自己的知識
完成測驗前,請先測試自己的知識,看看您學到了哪些知識。千萬別停下腳步!
在使用 Bubblewrap 產生 Android 專案後,Sally 將產生的 ______ 檔案提交至其版本控制系統,如此一來,她就能隨時重建專案。
小傑想讓品質確保小組測試自己的 PWA Android 應用程式。他______將自己的 Android App Bundle 設為內部測試群組。
Oogie Boogie 的 PWA Android 應用程式無法以全螢幕執行。如要解決這個問題,對方會取得 ______ 的 SHA-256 憑證指紋,並上傳至 ______ 的「數位資產連結」檔案 (檔案來源為 ______)。
9. 測試自己的知識 - 解答
「測試你的知識」問題解答!
- 在使用 Bubblewrap 產生 Android 專案後,Sally 將產生的 ______ 檔案提交至其版本控制系統,如此一來,她就能隨時重建專案。
- 答案:twa-manifest.json
- 章節:Bubblewrap PWA
- 小傑想讓品質確保小組測試自己的 PWA Android 應用程式。他______將自己的 Android App Bundle 設為內部測試群組。
- 答:招牌和上傳內容
- 章節:將應用程式加入 Google Play
- Oogie Boogie 的 PWA Android 應用程式無法以全螢幕執行。如要解決這個問題,對方會取得 ______ 的 SHA-256 憑證指紋,並上傳至 ______ 的「數位資產連結」檔案 (檔案來源為 ______)。
- 答:簽署金鑰, /.well-known/assetlinks.json
- 區段:數位資產連結
10. 恭喜!
恭喜!你已成功學習如何將 PWA 新增到 Google Play 商店!
當您準備好自行操作時,請自行嘗試下列後續步驟:
- 建立正式版應用程式
- 深入瞭解發布應用程式的更多選項,包括 Chrome 作業系統專屬版本和含有 Android 版行動裝置版的應用程式,以及 Chrome 作業系統專用的 PWA。
- 瞭解如何為應用程式設定 Play 帳款服務,並在 PWA 和後端中導入這項功能。
祝您一切順利!