Web Notification 實現訊息推播試作

ServiceWorker, PushManager, Notification 與 WebPush 套件(web-push), 於 .NET5 平台。

完成 Web Notification 的要件

為HTML5之後才有的能力。

  • PushManager=> 於 browser 訂閱(subscription) 某網站的推送通知。

  • ServiceWorker=> 於 browser 接收推播訊息並調用Notifications送出通知。

  • Notifications=> 於 browser 送出通知給作業系統,依平台不用可以是 Win10, iOS, Android 等等。

  • WebPush=> (1) 提供訂閱服務。(2) 產生並推播訊息到 browser 。

先收集材料

概念

某人實作紀錄於 .NET Core, with WebPush 套件 (後端的碼因有參考性 --- 未拜讀)

Google 實驗室出的文章(前端的碼有參考性)

某人的實作紀錄(留參)

Notification 使用入門

工具網站:產生通訊用的公私鑰

實作紀錄

結論的結論

FCM WebPush是可以用的若有跨平台的WebPush需求(大概是社交類的應用)。若只是單一系統內的Web Push機制其實用long polling這類老手段依然是很好的解,更好一點就是採用SignalR同類的工具來實現都比用FCM實作Web Push在安全性與成熟度都更好。

※ 推測大概也是安全性的關係,所以在行動平台上(iOS,Android)的FCM現在也只提供native app的支援。

EOF

Last updated