PWA 上架 Play Store 實戰 用 PWABuilder 封裝並提交應用

me
林彥成
2021-10-04 | 3 min.
文章目錄
  1. 1. 什麼是 PWA 上架與 TWA?
  2. 2. Progressive Web App 跨平台安裝與上架概覽
  3. 3. Progressive Web App 打包工具教學:為何不建議只用 WebView?
    1. 3.1. Bubblewrap:Trusted Web Activity 的封裝利器
    2. 3.2. PWABuilder 教學:一站式 Manifest 預覽與上架
  4. 4. FAQ:PWA 上架常見問題
    1. 4.1. Q1:上架 Play Store 時,如何證明我是網站的所有者?
    2. 4.2. Q2:PWABuilder 支援上架 iOS App Store 嗎?
    3. 4.3. Q3:透過 TWA 上架的 App 效能會比網頁差嗎?

什麼是 PWA 上架與 TWA?

PWA 上架 是指將符合 Progressive Web App 標準的網頁,透過封裝工具轉化為原生應用程式格式(如 Android 的 .apk 或 .aab),以便發布至 Google Play Store、Microsoft Store 等應用程式市集的過程。其核心技術為 Trusted Web Activity (TWA),這是一種基於 Chrome 的容器技術,能確保 Web App 在原生 App 的外殼中仍具備 100% 的瀏覽器功能與效能。透過 PWABuilderBubblewrap 等工具,開發者能以極低的成本實現跨平台發布,同時享有市集的搜尋流量、品牌信任度與系統層級的權限支援。


Progressive Web App 跨平台安裝與上架概覽

Progressive Web App 本身就具備了「可安裝」的靈魂,但如果您想進一步提升品牌的信任度與搜尋能見度,透過 BubblewrapPWABuilder 將 PWA 封裝並上架到各大應用程式市集是個明智的選擇。

小編整理了目前主流的三種跨平台安裝方式:

  1. 瀏覽器直接安裝:只要符合 PWA 安裝規範,在 Chrome 或 Edge 網址列就能直接「下載」。
  2. Google Bubblewrap:將 PWA 打包成 Android 專用的 .aab.apk 封裝檔。
  3. Microsoft PWABuilder:這是一個強大的整合工具,支援將 PWA 同步上架至 Windows、Play Store 及 Samsung Galaxy Store。

Progressive Web App 打包工具教學:為何不建議只用 WebView?

為什麼需要使用打包工具?是因為現有解決方案像是 WebView 實際上還是無法取代瀏覽器。在進行 Web App 開發建議 時,小編常被問到:為什麼不直接用 WebView 包殼就好?

  • 網頁功能受限:WebView 往往無法支援最新的 Web API。
  • Cookie 實作風險:擔心 App 實作怕出問題,可能連 iFrame 都要捨棄。

傳統的 Cordova、Electron 這類工具目的就是在克服以上這些問題,但變成需要維護更多東西。

近幾年出現的 Bubblewrap 則是基於 PWA 的標準去封裝,微軟的 PWA 團隊則進一步與 Google 進行合作,讓 PWABuilder 工具可以在底層執行 Google 的 Bubblewrap,可以產生 Google Play Store 的 App 封裝。

  • Google Bubblewrap:透過 Trusted Web Activity 容器將 PWA 顯示在 Android App 中。
  • Microsoft PWABuilder
    • Android 市集:後端整合了 Bubblewrap。
    • Windows 市集:整合了自有平台,以及利用了 Edge 底層也是 Chromium 的特性去支援。
    • Samsung 市集:根據小編開發 Tizen 的經驗,猜測是針對底層也是 Chromium 的市集上架。

對漸進式增強的 PWA 來說,新功能只需要開發者簡單實作就能加入,透過 PWABuilder 封裝的 Web App 將可以支援:

  • Web Shortcut 標準
  • Android 的狀態列與啟動畫面外觀
  • 系統層級的通知推播

這使得 PWABuilder 對開發者來說更有吸引力,最終能達到增加市集內高品質 Web App 數量的目的。

Windows 市集中的 PWA (圖片來源: https://blog.pwabuilder.com/)

Bubblewrap:Trusted Web Activity 的封裝利器

Bubblewrap 是一套能將符合 Trusted Web Activity 標準的 App 打包成 APK 或是 AAB 封裝檔的工具。

Trusted Web Activity (TWA) 則是一個開放標準,允許瀏覽器提供完全相容 Web 平台的容器,開發人員可以使用 TWA 作為容器來包含 PWA 作為 Android 應用程序的啟動 Activity。

透過容器在 Android App 中呈現 PWA 的技術可以做到:

  • 瀏覽器以全螢幕的方式呈現 PWA(完全隱藏網址列)。
  • 確保 TWA 與底層瀏覽器的功能和 API 具備完整相容性。

TWA 原則上也要遵守 PWA 的安裝準則,符合之後就能透過 Bubblewrap 透過 Command Line 工具進行打包。

PWABuilder 教學:一站式 Manifest 預覽與上架

PWABuilder 不僅包含了 Bubblewrap 的實作,更進一步實作了 Manifest 的效果預覽,也整合了多個市集的封裝方式,讓 PWA 開發人員只需要專注於一種寫法就能上架到三種平台。

  1. Manifest 視覺化:能夠即時預覽安裝效果。

  1. 標準量化:將符合 PWA 標準的程度量化,透過準則和分數來引導開發人員。

PWABuilder 效能標準清單

  1. 快速轉換:幫助開發者將現有網站快速轉換成 Progressive Web Apps。

FAQ:PWA 上架常見問題

Q1:上架 Play Store 時,如何證明我是網站的所有者?

A:這需要透過 Digital Asset Links 驗證。您需要在網站的 .well-known/assetlinks.json 中放置一個包含 App 簽署憑證指紋(SHA-256)的檔案。如果沒有完成這一步,App 開啟時仍會顯示瀏覽器的網址列,無法達到全螢幕效果。

Q2:PWABuilder 支援上架 iOS App Store 嗎?

A:目前 Apple 對於 PWA 的政策相對保守。雖然 PWABuilder 正在嘗試相關支援,但目前最主流的做法仍是針對 Android、Windows 與 Samsung 市集。iOS 使用者通常建議直接透過 Safari 的「加入主畫面」進行安裝。

Q3:透過 TWA 上架的 App 效能會比網頁差嗎?

A:不會。TWA 本質上是直接呼叫使用者裝置上已安裝的 Chrome 內核進行渲染,因此效能與在 Chrome 瀏覽器中開啟幾乎一致,且由於省去了網址列等系統介面開銷,視覺流暢度反而更好。


希望這份上架指南能幫助您的 Web App 成功躍上國際市集!如有關於簽署憑證或驗證流程的疑問,歡迎隨時留言討論。


喜歡這篇文章,請幫忙拍拍手喔 🤣