當使用者離開網站後,如何讓他們及時掌握訂單進度、預約提醒或訂閱內容?PWA(漸進式網頁應用程式)除了提供接近原生 App 的使用體驗,也能透過推播通知,在取得使用者同意後傳遞更新,引導他們回到相關頁面,無需另外開發原生 App。
不過,PWA 推播的接入方式與使用條件會因平台而異。例如,iPhone/iPad 自 iOS/iPadOS 16.4 起支援主畫面 Web App 推播,使用者需先將網站加入主畫面,再從圖示開啟並授權通知。本文將介紹各平台的支援條件,並以 EngageLab WebPush 為例,說明接入步驟、測試流程與常見問題的排查方法。
PWA 可以發送推播通知嗎?
PWA(漸進式網頁應用程式)完成推播接入並取得使用者授權後,即可在支援的瀏覽器與作業系統上傳送通知,用於訂單更新、預約提醒、商品補貨或新內容發布。使用者點擊通知後,可直接前往對應頁面查看詳情。
PWA 以網頁技術建立,能提供加入主畫面、獨立視窗等接近原生 App 的使用體驗。但安裝 PWA 不等於啟用推播:安裝、離線存取與推播通知是不同功能,需要各自設定與測試。若希望使用者離開頁面後仍能收到更新,還需完成推播訂閱與發送流程。
PWA 推播如何運作?
「推播」負責將訊息傳送到裝置,「通知」則負責將訊息顯示給使用者。只在網頁上顯示通知,並不代表已完成遠端推播;完整的流程需要由伺服器發送訊息,再透過使用者的訂閱資訊傳遞至裝置。
PWA 推播主要透過推播介面、通知介面與背景服務程式協同運作。網站前端負責取得使用者授權並建立訂閱,後端或推播平台負責發送訊息,背景服務程式則接收推播並顯示通知,讓使用者不必持續停留在原頁面,也能收到更新。
PWA 推播支援哪些裝置與瀏覽器?
相同網站在不同裝置上,可能有不同的安裝與授權流程。開發時應檢查功能是否可用,再以實際目標裝置測試,避免僅憑瀏覽器名稱判斷。
| 使用環境 | 接入重點 | 測試方式 |
|---|---|---|
| iPhone/iPad | iOS/iPadOS 16.4 以上;Web App 加入主畫面後,從主畫面開啟並由使用者操作觸發授權。 | 確認開啟的是獨立 Web App,並檢查系統通知設定。 |
| Android | 選用支援 Web Push 的瀏覽器;是否需要安裝 PWA,取決於瀏覽器與接入方案。 | 檢查站點權限、作業系統通知設定及背景接收結果。 |
| Windows/macOS 桌面瀏覽器 | 確認目前瀏覽器版本、作業系統及所用推播服務的支援範圍。 | 分別測試頁面開啟、切到背景及通知點擊跳轉。 |
iOS 的版本與主畫面條件可參考 WebKit 官方說明。平台能力與 SDK 接入支援是兩個層次,上線前也要確認推播服務對目標環境的支援情況。
開發者要準備哪些 PWA 設定?
為網站提供 Web App Manifest,配置名稱、圖示、啟動網址及顯示模式;在 iOS 主畫面 Web App 的情境,可依 WebKit 說明設定 display 為 standalone 或 fullscreen。完成後要重新以實機檢查啟動效果,而不是只確認檔案存在。
iOS 主畫面 Web App 使用標準 Web Push 時,不需要僅為此功能加入 Apple Developer Program。若採用第三方服務,仍需完成該服務要求的應用與域名配置。
實作 PWA 推播前,需要準備什麼?
先確認以下條件,避免把部署或權限問題誤判為發送失敗。首次測試只需要少量測試裝置,不必先累積大量使用者。
- 可存取的 HTTPS 網站:依 EngageLab 接入要求,以實際域名完成整合與裝置測試。
- 網站部署權限:能新增 SDK 檔案、調整頁面程式,並檢查 Service Worker 路徑。
- PWA 安裝設定:準備 Manifest、圖示與啟動網址;iOS 需驗證加入主畫面後的開啟方式。
- 應用配置:準備 WebPush AppKey、接入域名與目前下載的 SDK 套件。
- 測試條件:至少一部目標裝置、一個可開啟的通知目標頁,以及可查看錯誤與發送結果的工具。
選擇自建 Web Push,還是使用推播平台?
自建方案適合希望自行掌握訂閱儲存與發送邏輯的團隊,也需要維護金鑰、失效訂閱與發送錯誤。推播平台方案則可將接入、裝置管理與營運發送集中處理;選擇時應核對目標平台支援、既有 Worker 的整合方式,以及團隊需要的控制台與 API 能力。
如何使用 EngageLab 推播平台完成第一則 PWA 推播?
EngageLab WebPush 是網頁推播服務平台,協助網站與 PWA 接入通知功能,並透過控制台或 API 發送訊息。完成接入後,團隊可管理推播對象、建立通知及查看發送紀錄,用於訂單更新、內容訂閱與行銷提醒等情境。
以下將從網站設定開始,帶你完成裝置註冊、通知授權與第一則測試推播。SDK 檔名、參數及控制台操作,請以當前官方接入指南及下載套件為準。
-
1
確認接入域名與測試頁面
準備可從測試裝置存取的 HTTPS 網站、網站部署權限,以及 Android、iPhone 或桌面測試裝置。依 EngageLab 接入要求,使用可存取的 HTTPS 域名測試,避免以本機檔案預覽代替正式接入驗證。
完成標準:測試裝置可開啟網站,憑證正常,PWA 能以預期模式啟動。
-
2
建立 WebPush 應用並設定域名
登入 EngageLab,建立 WebPush 應用並取得 AppKey,再於整合設定填入接入域名。核對實際測試網址是否與配置一致,尤其是子域名與測試、正式環境的差異。
完成標準:應用與接入域名已保存,開發者能確認目前使用的是哪個環境的 AppKey。
-
3
部署 SDK 與 Service Worker
從控制台下載目前的 Web SDK,按照隨附範例引入 SDK 並部署 Service Worker。確認檔案可直接存取、回傳正確內容,且作用範圍涵蓋需要接收推播的頁面。
若 PWA 已有用於離線快取的 Service Worker,先檢查它與推播 Worker 的作用範圍。不要直接覆蓋現有檔案;應依套件整合方式處理,並重新驗證離線與通知功能。
完成標準:瀏覽器開發者工具可確認 Worker 狀態正常,沒有載入錯誤或範圍衝突。
-
4
初始化並取得通知授權
依官方範例配置 AppKey、使用者識別與初始化回呼。使用者識別應能對應你的訂閱管理需求;不要讓所有裝置共用同一個測試識別值。
在顯示訂閱入口前,可先執行以下功能偵測。這段程式只判斷傳統 Web Push 所需 API 是否存在,不會接入 EngageLab、不會要求授權,也不代表通知一定能送達。
// 前端功能偵測範例 const hasPushApis = window.isSecureContext && 'serviceWorker' in navigator && 'PushManager' in window && 'Notification' in window; const permission = 'Notification' in window ? Notification.permission : 'unsupported'; console.log({ hasPushApis, permission }); // hasPushApis 為 true 後,仍需完成 SDK 初始化、授權與實機測試。訂閱按鈕應說明通知用途,再由使用者點擊觸發 SDK 的授權流程。區分尚未選擇、已允許、已拒絕三種狀態;SDK 方法與回呼可查閱 Web SDK API 文件。
完成標準:權限狀態與裝置註冊結果均可確認,並取得用於測試發送的裝置識別資訊。初始化成功本身不能代替接收測試。
-
5
只向測試裝置發送第一則通知
建立一則測試通知,填寫標題、正文與目標網址,將對象限制為剛完成註冊的測試裝置。先確認畫面呈現和跳轉,再擴展到實際訂閱群組。
標題:測試成功:你的 PWA 已啟用通知
內容:點擊這則通知,確認是否返回測試頁面。
目標頁面:網站內可公開存取的測試結果頁。
完成標準:目標裝置收到通知,點擊後到達正確頁面;必要時登入後仍能返回原目標。
-
6
驗證背景接收與後續管理
分別在頁面開啟、切到背景與鎖定畫面等情境測試,記錄作業系統、瀏覽器版本、權限及發送時間。背景與顯示行為受系統設定影響,不能把單次成功視為所有裝置都會即時收到。
上線前也應檢查退訂入口、失效訂閱處理、通知點擊追蹤與頻率限制。後端發送憑證應留在伺服器端,不能放入公開頁面的前端程式。
先建立 WebPush 應用,完成一部裝置的授權、註冊、接收與點擊測試,再規劃正式發送。
PWA 推播通知範例與發送策略
有效的通知應讓使用者一眼知道「發生什麼事」與「點擊後能做什麼」。以下為文案示例,並非實際客戶成效或送達保證。
| 情境與觸發條件 | 通知文案範例 | 點擊目的地 |
|---|---|---|
| 訂單已出貨 | 你的訂單已出貨 物流資訊已更新,點擊查看配送進度。 | 對應訂單的物流頁 |
| 已訂閱商品補貨 | 你關注的商品補貨了 先前訂閱的款式已重新上架,查看目前庫存。 | 對應商品與規格頁 |
| 訂閱主題有新內容 | 本週開發快訊已更新 你訂閱的前端技術精選已上線,查看本期重點。 | 本期內容頁 |
| 預約時間即將到來 | 你的預約即將開始 請確認時間與地點;如需調整,可前往預約頁。 | 對應預約詳情頁 |
通知頻率怎麼設定?
交易更新依實際事件觸發;行銷通知則依訂閱偏好、內容價值與互動表現調整。不宜對所有網站套用固定的每日或每週次數。可以提供通知分類、暫停或退訂選項,並避免不同活動在短時間內重複觸達同一使用者。
評估時除了發送量,也要查看點擊、退訂與後續行動。例如補貨提醒可觀察商品頁瀏覽及購買,預約提醒則可觀察確認或改期。比較成效時,應統一統計口徑與觀察期間。
PWA 推播通知常見問題
-
1
PWA 可以向 iOS 發送推播通知嗎?
可以。iOS/iPadOS 16.4 以上支援主畫面 Web App 的 Web Push。使用者需要加入主畫面、從主畫面開啟,並透過直接操作授予通知權限;一般瀏覽器分頁不應視為相同的使用情境。
-
2
使用者一定要安裝 PWA 才能接收網頁推播嗎?
不一定,須視平台而定。部分桌面與 Android 瀏覽器可在網站取得同意後接收 Web Push;iOS/iPadOS 則需依主畫面 Web App 的條件處理。
-
3
關閉 PWA 頁面後,還能收到通知嗎?
在支援的環境下,Web Push 可在頁面未開啟時運作。但系統權限、瀏覽器狀態、網路與省電設定等都可能影響接收或顯示,應以目標裝置測試結果為準。
-
4
PWA 推播一定要自己建立發送伺服器嗎?
可自行建置標準 Web Push 發送與訂閱管理,也可使用推播平台。採用 EngageLab 等服務時,仍需完成網站端的接入、授權與註冊,不能只建立控制台發送任務。
-
5
只有少量使用者,可以先測試 PWA 通知嗎?
可以。接入並不以大量使用者為前提;先用測試裝置驗證,再逐步開放訂閱,更容易檢查設定與接收結果。
-
6
PWA 推播通知可以加入圖片或操作按鈕嗎?
呈現能力依作業系統、瀏覽器與發送服務而異。不要假設所有裝置都會顯示相同版型;重要訊息應能僅靠標題與正文表達,圖片與按鈕則另做實機驗證。
-
7
FCM、自建 Web Push 與 EngageLab 可以直接共用接入程式嗎?
不應直接混用。不同方案的初始化、註冊識別與發送配置不同;若既有 PWA 已接入另一個服務,先盤點 Worker、訂閱與使用者對應,再規劃整合或遷移,避免重複註冊與重複發送。
-
8
iPhone/PWA 已允許通知,為什麼還是收不到?
授權成功不代表已完成推播註冊。請依序檢查裝置支援、通知權限、SDK 註冊、目標裝置與發送結果。iPhone 需從主畫面開啟 Web App,並確認系統通知與專注模式未阻擋顯示。
結論
PWA 推播能協助企業將網站互動延伸至訂單提醒、內容更新與使用者召回。導入時,應先確認目標裝置的支援條件,完成授權、註冊與接收測試,再依業務需求建立分眾與觸發規則,並透過點擊、退訂及轉換表現持續調整。
若企業希望集中管理推播接入與日常發送,可透過 EngageLab WebPush,從一個明確的業務場景開始驗證,再逐步擴展至更多使用者與通知情境。
開始設定 EngageLab WebPush






