iT邦幫忙

2

網站的通知功能該怎麼實現比較好

例如it或youtube的小鈴鐺功能普遍的實現方法是甚麼呢?
目前想到的解法很直觀就是 :

定時送出request更新資料

這招簡單又粗暴,而且後端api server也可以透過session與URLQuery/JSON的方式檢查目前這位使用者是否有權限,請求的資料又是什麼(api routine),而cookie也有瀏覽器保護。問題就是不知道是不是正常的解法?

Websocket

我的想法是在Websocket上在實作一層我自己的協議。但是不知道安全性怎麼樣,會不會發生這個前端sockect物件被惡意腳本拿去使用的狀況?而且server端要指定一個client推送訊息,(雖然我不知道這樣行不行),然後我稍微想了一下,websocket好像又不是拿來做這種事的?

希望有大大可以指點一下 Orz

看更多先前的討論...收起先前的討論...
player iT邦大師 1 級 ‧ 2020-05-20 00:00:24 檢舉
推播技術有很多種
https://en.wikipedia.org/wiki/Push_technology
應該是 ws 在送event , 剛載入頁面時 server 回傳 通知List , 再來是 小鈴鐺 觸發時 在累加,使用者點擊後移除通知。
不過這個前後端都很複雜喔,還要設計後台介面給人家設定什麼時候發通知
而且你應該還沒實做過 WS 吧?你先做一次聊天室範例再來討論吧
jokie7585 iT邦新手 5 級 ‧ 2020-05-20 00:14:16 檢舉
沒錯~我的"想法"確實是這樣沒有錯,而且我的確只是用看的把範例看過去而已ww我應該要先把這個基本運用走過一次的,很抱歉QwQ
3
dragonH
iT邦超人 5 級 ‧ 2020-05-20 00:17:18
最佳解答

應該是這個

之前玩過

Service worker push

參考

文中的 push key 要換這申請

jokie7585 iT邦新手 5 級 ‧ 2020-05-20 18:17:11 檢舉

原來如此...原來有專門的推播server,看來我有點太小看這件事了ww

1
ted_chou12
iT邦新手 5 級 ‧ 2020-05-20 00:59:01

dragonH 說的~ PWA 中的 Service worker push.
但是要注意目前不支援 iOS 中的 Safari。

Websocket 可以,但是如果要在行動裝置裡做的話 Service worker 應該是比較好的。
https://developers.google.com/web/fundamentals/primers/service-workers

(今年 Apple 有意推出 iOS Safari 的 Service worker push)

jokie7585 iT邦新手 5 級 ‧ 2020-05-20 18:30:04 檢舉

感謝尼的提醒~確實呢~要根據使用場景來決定

不明
【**此則訊息已被站方移除**】
0
Franky Chen
iT邦研究生 5 級 ‧ 2020-05-20 10:35:45

Google Firebase cloud messageing
還蠻複雜的......
我有做過但只做到對所有人推播
指定推播沒成功過......

jokie7585 iT邦新手 5 級 ‧ 2020-05-20 18:16:30 檢舉

怕....
感謝提醒

我要發表回答

立即登入回答