要建立如上所述的自訂推播通知系統,您需要各種技術、套件和程式庫。這是您將使用的技術堆疊的完整列表,分為客戶端、伺服器端和通用工具。
1.客戶端(前端)
這些是使用者瀏覽器中使用的技術和函式庫。
-
HTML/CSS/JavaScript:
-
服務人員:
-
用途:處理後台任務,包括接收和顯示推播通知。
-
檔案:service-worker.js。
-
推播 API:
-
用途:允許網路應用程式接收從伺服器發送的推播訊息。
-
通知 API:
-
Web VAPID 函式庫(選購):
-
用途:將 VAPID 公鑰從 Base64 轉換為 Uint8Array 的實用程式。
-
套件:如果需要,您可以編寫自己的實用函數或使用現有的函式庫。
2.伺服器端(後端)
這些是在您的伺服器上運行的技術和庫,用於管理訂閱、發送通知等。
-
Node.js:
-
用途:伺服器端 JavaScript 執行階段環境,用於處理後端邏輯。
-
版本:推薦最新的LTS版本。
-
Express.js:
-
用途:Node.js 的 Web 應用程式框架,用於建立 API 端點以處理訂閱、發送通知等。
-
包裹:快遞。
-
網路推送庫:
-
用途:處理推播通知的建立和傳送,包括 VAPID 金鑰產生。
-
軟體包:網路推送。
npm install web-push --save
-
資料庫:
-
用途:儲存用戶訂閱。
-
選項:
-
PostgreSQL:強大的開源關聯式資料庫。
-
MySQL:另一種流行的關聯式資料庫。
-
SQLite:輕量級、無伺服器資料庫選項。
-
ORM(可選):
-
Sequelize:支援各種 SQL 方言的 Node.js ORM。
-
Package:Sequelize 的續集。
-
主體解析器中間件:
-
用途:在處理程序之前解析中間件中傳入的請求正文,可在 req.body 屬性下使用。
-
套件:主體解析器。
npm install body-parser --save
-
Dotenv:
-
用途:將.env 檔案中的環境變數載入process.env 中。
-
軟體包:dotenv。
npm install dotenv --save
3.通用工具和實用程式
-
Nginx 或 Apache:
-
用途:為您的靜態檔案提供服務並反向代理 Node.js 應用程式的 Web 伺服器。
-
設定:配置為透過 HTTPS 為您的網站提供服務,這是推播通知所必需的。
-
SSL 憑證:
-
用途:為您的網域提供 HTTPS,這是服務工作人員和推播通知所必需的。
-
提供者:
-
Let's Encrypt:免費 SSL 憑證。
-
商業 SSL 供應商:提供付費選項。
-
Git:
-
節點套件管理器 (NPM) 或 Yarn:
4.選購工具
-
監控工具:
-
用途:監控伺服器效能和錯誤。
-
選項:
-
新遺跡、Datadog、普羅米修斯。
-
自動化部署工具:
-
目的:用於自動化部署的 CI/CD 管道。
-
選項:
-
GitHub 操作、Jenkins、GitLab CI。
-
資料庫備份解決方案:
5.開發環境
-
程式碼編輯器:
-
選項:
-
Visual Studio Code:JavaScript 開發的熱門選擇。
-
Sublime Text,WebStorm。
-
郵差或失眠:
總結
您的堆疊將主要圍繞後端的JavaScript、Node.js 和Express 以及諸如PostgreSQL 之類的資料庫或MySQL 來儲存訂閱資料。 Web-Push 庫將處理推播通知的實際發送,前端的 Service Worker 和 Push API 將管理推播通知的訂閱流程和顯示通知。
此設定可讓您完全控制通知系統,允許根據您的需求進行客製化和最佳化。
以上是如何製作自訂推播通知的詳細內容。更多資訊請關注PHP中文網其他相關文章!