6

Service Worker を介してユーザーにプッシュ通知を送信する一般的なワークフローをまとめようとしています。

私はこのGoogle Developers Service Worker プッシュ通知チュートリアルに従っており、現在、この種のものを実験用の小さなユーザー ベースの Web アプリに実装する方法を考えています。

私の考えでは、プッシュ通知をサポートする Web アプリの一般的なワークフローは次のとおりです。

  • クライアントがアプリにアクセス
  • Service Worker はプッシュ通知エンドポイントを生成します
  • クライアントはエンドポイントをサーバーに送信します
  • サーバーは、エンドポイントが生成された現在のユーザーにエンドポイントを関連付けます
  • アプリが通知に値すると言う何かが発生するたびに、サーバーはユーザーに関連付けられたプッシュ通知エンドポイントを取得し、それをヒットしてユーザー デバイスにプッシュ通知を送信します (Chrome 50 以降ではデータ ペイロードを使用する可能性があります)。など)

基本的に、このテクノロジを使用した一般的な実装の考えが正確であることを確認したいだけです。それ以外の場合は、何か不足している場合はフィードバックを取得してください。

4

1 に答える 1

8

あなたはかなり大成功です。正確ではない詳細がいくつかあります(ただし、これは主に言い回しであり、個人的に味わうために行われる可能性があります).

  • クライアントがアプリにアクセス
  • プッシュ メッセージングに使用する Service Worker を登録します
  • Service Worker 登録を使用してユーザーをサブスクライブし、メッセージをプッシュします。この時点で、ユーザー エージェントはエンドポイントとペイロードを暗号化するための追加の値を構成します (ユーザー エージェントがサポートしている場合)。
  • クライアントはエンドポイントをサーバーに送信します
  • サーバーは、後で使用するためにエンドポイントとデータを保存します (サーバーは、Web アプリにユーザー アカウントがある場合、エンドポイントを現在のユーザーに関連付けることができます)。
  • サーバーがユーザーに通知を送信したいときはいつでも、適切なエンドポイントを取得して呼び出し、通知を表示できる Service Worker をウェイクアップします。

ペイロードのサポートは Chrome 50 以降で予定されており、執筆時点ではペイロードは Firefox でサポートされていますが、3 つの異なるバージョンの Firefox でペイロードに使用される 3 つの異なるバージョンの暗号化があるため、ペイロードのサポートの話が続くのを待ちたいと思います。それを使用する/それに頼る前に、少しアイロンをかけてください。

于 2016-04-06T08:44:35.750 に答える