← 返回系統更新日誌列表

漸進式網頁應用程式 (PWA) 圖示整合

發布日期:2026-03-22 | 系統架構與技術更新報告

在當今的行動優先時代,提供媲美原生應用程式的體驗已成為現代網頁開發的核心指標之一。漸進式網頁應用程式(Progressive Web App, 簡稱 PWA)技術的崛起,讓我們能夠透過瀏覽器為使用者帶來離線存取、推播通知以及安裝到桌面的無縫體驗。在本次系統更新中,我們的首要任務是為平台導入完整的 PWA 圖示整合,讓使用者能夠將我們的應用程式直接釘選在手機的主畫面上。這不僅能大幅提高回訪率,更能讓整體產品散發出專業且一體化的質感。

起初,我們認為這只是一項簡單的設定工作。根據早期的網頁標準,開發者只需在 HTML 的 <head> 區塊中加入基本的 <link rel="icon"> 標籤,瀏覽器便能自動抓取並顯示相對應的網站圖示。然而,當我們將這個「看似完美」的版本部署到測試環境,並在各式行動裝置上進行驗證時,卻遭遇了始料未及的阻礙。

踩過的坑與問題診斷

在實際測試階段,我們發現了一個嚴重的跨平台相容性問題:Android 和 iOS 系統對於標準網頁圖示的處理方式大相徑庭,甚至在許多情況下會直接忽略我們設定的標準圖示。在 iOS 裝置(iPhone 與 iPad)上,當使用者嘗試將網頁「加入主畫面」時,系統並沒有抓取我們精心設計的標誌,而是粗暴地截取了網頁的縮圖作為應用程式圖示。這導致主畫面上的圖示看起來模糊不清,且毫無專業感可言。另一方面,在 Android 裝置上,由於缺乏完整的 WebAPK 清單配置,瀏覽器無法將網頁辨識為合格的 PWA,導致安裝提示完全沒有觸發。

為了診斷這個問題,我們深入查閱了 Apple 的 Web 開發者指南以及 Google 的 PWA 規格文件。我們發現,iOS Safari 對於主畫面圖示有著一套獨立且專屬的標準,必須明確使用 apple-touch-icon 標籤,並且需要提供特定尺寸的圖片以適配不同解析度的 Retina 螢幕。至於 Android 系統與 Chrome 瀏覽器,則嚴格要求必須存在一個格式正確的 manifest.json(網頁應用程式清單),裡面必須詳細定義應用的名稱、啟動畫面顏色、顯示模式(display mode),以及包含多種尺寸與遮罩(maskable)屬性的圖示陣列。缺乏這些標準化配置,作業系統便會退回到最原始的網頁捷徑處理方式,從而破壞了 PWA 的沈浸式體驗。

架構重構與程式碼修復

確認了問題的根源後,我們隨即展開了針對性的修復工作。首先,我們在專案根目錄建立了一份標準的 manifest.json 檔案,並在其中詳盡配置了所有必需的 PWA 屬性,特別是針對圖示的 icons 陣列,確保涵蓋了從 192x192 到 512x512 的多種解析度,並加入了 "purpose": "any maskable" 以支援 Android 現代系統的自適應圖示(Adaptive Icons)規範。接著,我們全面改寫了 HTML 的 <head> 區塊,除了引入 manifest 檔案,更針對 iOS 裝置補充了高解析度的 apple-touch-icon 標籤,並設定了 theme-color 以確保瀏覽器頂部的狀態列顏色能與應用程式的品牌色調完美融合。

修改前 (Before)

<!-- 傳統且不具備 PWA 完整相容性的圖示設定 -->
<head>
    <title>系統儀表板</title>
    <link rel="icon" href="/favicon.ico">
    <link rel="icon" type="image/png" sizes="32x32" href="/icon-32.png">
</head>

修改後 (After)

<!-- 支援完整 PWA 與跨平台原生體驗的配置 -->
<head>
    <title>系統儀表板</title>
    <link rel="manifest" href="/manifest.json">
    <meta name="theme-color" content="#3498db">
    <link rel="icon" href="/favicon.ico" sizes="any">
    <link rel="icon" href="/icon.svg" type="image/svg+xml">
    <link rel="apple-touch-icon" href="/apple-touch-icon.png">
</head>

全新的使用者體驗 (UX)

這次的更新為使用者帶來了煥然一新的體驗。現在,當使用者在支援的瀏覽器中開啟我們的應用程式時,系統會智慧地彈出「安裝應用程式」的提示。安裝完成後,使用者的手機主畫面上將會出現一個清晰、邊緣平滑且完美適配系統圖示形狀的專屬 App 圖示。點擊該圖示啟動應用程式時,將不再看到瀏覽器的網址列與導航列,取而代之的是全螢幕的沉浸式介面與客製化的啟動畫面(Splash Screen)。這種從「網頁」到「應用程式」的無縫轉換,不僅大幅降低了使用者的操作認知負擔,更讓整體的互動過程顯得更加流暢與專業,徹底消除了以往依賴瀏覽器書籤所帶來的不便感。