1

私は、Firebase Cloud Messagingといくつかのノードパッケージを使ってWebプッシュ通知サーバ/クライアントアーキテクチャを設定しようとしていました。複数のチュートリアルを経て、私は本当に混乱しています。"web-push"と "fcm-push"ノードパッケージを同時に使用するには?

"web-push"ノードパッケージを試しましたが、gcm-keyが必要です。Googleが発表したように、GCMは現在FCMに移行しています。だから、私は "fcm-push"と呼ばれる別のパッケージを見ましたが、VAPIDはサポートしていません。私はなぜVAPIDが別々に必要なのかについてもわからない。そこで、ここで直接質問してみましょう。

  • GCM/FCMとVAPIDの2つのキーが異なるのはなぜですか?
  • クライアントからサーバーにサブスクリプションキーを取得したら、それらをデータベースに格納する必要がありますか?それらを保存するために使用できる他の方法はありますか?
  • 「fcm-push」パッケージはVAPIDキーをサポートしておらず、documentationにはiOSとAndroidのみが含まれているようです。
  • 一方、「web-push」パッケージはFCMをサポートしていません。

私は両方のパッケージを同時に使用する必要がありますか?そして、はいの場合、私はどのパッケージを使って機能するのですか?

+0

web-pushはVAPIDとFCMをサポートしています。 – Marco

+0

好奇心の渦中に、ウェブプッシュがFCMをサポートしていないと思われた点は何ですか? – Marco

答えて

2

GCM/FCMとVAPIDの2つのキーが異なるのはなぜですか?

GCM/FCM APIキーは、従来の標準ではない認証方法です。 新しいプロジェクトの場合standard)を使用して、プッシュサービス(例:FCM、Mozilla autopush)でウェブアプリケーションを認証する自動方法です。

基本的にVAPIDを使用すると、通知をプッシュするようにユーザーをサブスクライブすると、エンドポイントに公開キーが関連付けられます。そのエンドポイントに通知を送信する場合は、秘密鍵でメッセージに署名する必要があります。

私はPushpadで働いています。私は数ヶ月前にGCM/FCMのapiキーからVAPIDに移行しました。これで、プッシュパッドを使用する場合、VAPIDのすべての設定が自動的に行われるため、VAPIDを手動で設定する必要はありません。 check it outに強くお勧めします。

クライアントからサーバーにサブスクリプションキーを取得したら、それらをデータベースに格納する必要がありますか?それらを保存するために使用できる他の方法はありますか?おそらく

あなたはキーの2種類が混乱している:

  • つまらない鍵ペア:あなたは一度、サーバー上でそれを生成します。 Javascriptを使用してユーザーにWebプッシュ通知をサブスクライブすると、公開キーがすべてのエンドポイントに関連付けられます。サーバー上に秘密鍵を保持し、送信する通知に署名するために使用する
  • 通知ペイロードに署名するために使用される鍵:これらの鍵はクライアントごとに異なり、終点。 ペイロードを送信する場合にのみ、これらのキーが必要です;それ以外の場合はつまらないキーをサポートしていません。あなただけの信号を送信することができ、その後、サービス従事者が独自のアプリケーション・サーバ

から未読の通知をダウンロードするための責任があることは、「FCM-プッシュ」パッケージのように見え、 iOSとAndroid用のドキュメントのみが書かれています。

FCMもネイティブアプリケーションにプッシュ通知を送信するために使用されますが、つまらないだけでウェブプッシュするための規格です。おそらく、その宝石はネイティブアプリで使用されることを意図されており、ウェブプッシュでは使用されないということです。

一方、「web-push」パッケージはFCMをサポートしていません。

はい、標準であるVAPIDを使用する必要があるためです。 FCMもVAPIDをサポートしています。

:他の回答で述べたように、「ウェブ・プッシュ」パッケージは、おそらくあまりにもFCMをサポートしています - しかし、私はIETF標準でつまらないを、使用(新しいプロジェクトのためのFCMのAPIキーを使用することをお勧めしません! )

あなたは、私がユーザーを購読するときにすべてのエンドポイントにVAPID公開鍵を関連付ける必要があると言いました。あなたはそれを結びつけることによって正確に何を意味しますか?

あなたはこれらの記事でつまらない詳細を読むことができます:

+0

あなたは、ユーザーを購読するときにVAPID公開鍵をすべてのエンドポイントに関連付ける必要があると言いました。あなたはそれを結びつけることによって正確に何を意味しますか? –

+0

また、サブスクリプションのみを保存する場合は、どのデータベースを使用することをお勧めしますか? –

+0

また、VAPIDを扱うのにどのノードパッケージを使用すべきかを教えてください。 –

0

web-pushがつまらないとFCMサポートしています。以前のChromeバージョンやOperaやSamsung Internet Browserなどのブラウザ用にGCM APIキーを提供する場合はGCMもサポートされますが、必須ではありません。オプションです。

+0

GCMのapiキーからVAPIDに移行したときに問題が発生しました(報告されたChromeのバグを含む)。新しいプロジェクトに従来のGCM APIキーを使用することはお勧めしません。 – collimarco

+0

私はそれをお勧めしませんが、OperaとSamsung Internet Browserをサポートする必要があります。 – Marco

+0

Operaの最新バージョン(デスクトップとAndroid)がVAPIDをサポートしているため、従来のバージョンを参照している可能性があります。 – collimarco

関連する問題