5

Chrome のプッシュ通知 (プッシュ API と通知 API) を統合する計画があります。

サブスクリプションが成功すると、Chrome サーバーはクライアントに特別なトークン (「エンドポイント」) を送信します。これを使用して、クライアントを識別し、プッシュ メッセージを送信できます。

ドキュメントから:

後でプッシュ メッセージを送信する必要があるため、エンドポイントはユーザーごとにサーバーに保存する必要があります。

いくつか質問があります:

  1. サーバー側で「エンドポイント」をどのように管理していますか? AJAX によってサーバーへのサブスクリプションが成功した後、この「エンドポイント」を送信し、DB に保存しますか。または、Cookie に保存してから、ログイン/登録要求後にサーバーに保存します。
  2. 「エンドポイント」と実際のユーザーをどのように接続するのだろうか?ユーザーはサイトを開き、[許可] をクリックしてプッシュ通知を表示できますが、セッション Cookie がないため、その時点でこの「エンドポイント」を実際のユーザーと識別することはできません。
  3. この「エンドポイント」には TTL がありますか?
4

1 に答える 1

4
  1. はい、サーバーに送信でき、サーバーはそれをDBに保存できます。例 [ 1 ] を参照してください。
  2. アプリケーションによって異なります。エンドポイントをユーザーにリンクする必要がない場合もあります。その場合、単にエンドポイントをuserサーバー上のオブジェクトのプロパティにすることができます。ユーザーがログイン前にプッシュ通知を登録すると、そのエンドポイントがそのユーザーに関連していることを知る方法がありません。ユーザーがログインすると、更新された情報をサーバーに送信できます。
  3. はい、エンドポイントは期限切れになる可能性があります ([ 2 ] を参照)。これが発生すると、「subscriptionchange」イベントが発生し、Service Worker はこのイベントをリッスンして、更新された情報をサーバーに送信できます (ここでも例として[ 1 ] または [ 3 ] を参照できます)。
于 2016-02-09T10:43:44.017 に答える