0

私は指定されたデバイストークンに通知を送信するように設定されたエクスプレスアプリを持っており、通知を送受信できます。ノードサーバからデバイスへのAPNの送信

私の問題は、現在デバイストークンを入力して、私のサーバーからデバイスに通知を手動で送信していることです。私は自分のアプリに接続されているFirebaseデータベースからトークンを取得できます。

DBが変更されたイベントごとに個別のデバイスのトークンを送信するにはどうすればよいですか。私はデータベースに割り当てられた特定のユーザを持っていない(または、私はどのようにエクスプレスアプリがどのユーザを追跡しているか把握することができない)。特定のユーザーを取得し、トークンを取得してから、必要な通知を送信する方法がありますか。通知の内容は、ユーザーのDB文書に記載されています。

オブザーバー/リスナーを配置できますか?それとも他の方法もあります。 私はAPNSを初めて使用しています。

P.S:APNS接続にnode-apn npmを使用しています。

私は明らかに希望です。 ありがとう!

答えて

1

次のようにする必要があります。

1)。ユーザーのすべてのデバイストークンを保存するための新しいテーブル "device"。次のようになります。

userId 
deviceType (should be enum [“android”, “ios”]) 
deviceId (string, id) 

2)。モバイルアプリ側のための2つのAPIの:

特定のモバイルデバイス登録 - モバイルアプリは、すぐにアプリでログイン後、「はuserId」と「デバイスID」を送信します。同じ「はuserId」と「デバイスID」が存在するかどうかと、そうでない場合のために、レコードは、それが「デバイステーブル」に1を作成しなければならないかどうかを確認するためにサーバー

は、特定のモバイルデバイスを登録解除 - モバイルアプリがお送りしますアプリからのログアウト時に「deviceId」を解放します。 (これは、2人のユーザーが同じデバイス上でモバイルアプリにログインできることがあるために行われます)、バックエンドは同じデバイスIDのレコードを削除します。

最終的にユーザーにプッシュを送信するイベントが発生したら、テーブルからデバイストークンを取得し、そのトークンにプッシュを送信します。

+0

私はすでにfirebaseアプリにトークンを持っています。あなたは私のサーバー側に新しいテーブルを作成するように頼んでいますか? –

関連する問題