4

我計劃將Chrome推送通知(推送API和通知API)集成在一起。Chrome推送通知端點+用戶標識

成功訂閱Chrome服務器向客戶端發送一些特殊令牌(「端點」),您可以使用該令牌識別客戶端併發送任何推送消息。

doc

端點應保存在服務器上爲每個用戶上,因爲你需要他們在稍後的日期發送推送消息。

我有幾個問題:

  1. 你如何管理 「端點」 在你的服務器端?您是否會在通過AJAX成功訂閱服務器之後發送此「端點」並保存到數據庫中。或者將其保存到cookie中,然後在登錄/註冊請求後將其保存在服務器上。
  2. 我想知道,您如何將「端點」連接到真實用戶?用戶可以打開你的網站,點擊「允許」顯示推送通知,但他沒有會話cookie,所以你不能在那個時候用真實用戶識別這個「端點」。
  3. 這個「端點」是否有一些TTL?

回答

3
  1. 是的,你可以將它發送給服務器,服務器可以將它存儲在數據庫中。例如參見[1]。
  2. 這取決於您的應用程序。有時您不需要將端點鏈接到用戶。如果這樣做,那麼簡單地說,端點可以是服務器上的user對象的屬性。如果用戶在登錄前註冊推送通知,則無法確定該端點是否與該用戶有關。當用戶登錄時,您可以將更新的信息發送到服務器。
  3. 是,端點可以過期(請參閱[2])。發生這種情況時,'subscriptionchange'事件將被解僱,服務人員可以收聽此事件並將更新後的信息發送到服務器(同樣,您可以看到[1]作爲示例或[3])。