0

私はFirebaseのモバイルアプリケーションベースのフレンドリクエストモジュールで作業していますので、通知のプッシュ方法を選択することを検討しています。Firebaseプッシュ通知とchildAddリスナー

userAがuserBと友人であることを要求すると仮定します。
- userAがシンプルなサーバーにリクエストを送信すると、userBに通知を送信するためにFCMが呼び出されます。
- Firebaseリアルタイムデータベースで変更されたデータを受信するサービスを作成すると、userAがそのデータベースを変更し、userBデバイスに通知が表示されます。

私はどちらも実装することが可能だと思いますが、何が良いのですか、なぜですか? これについていくつかアドバイスをください。

ありがとうございます。

答えて

2

いずれかを使用すると問題はありません。

しかし、ここで考慮すべき点は、リアルタイムデータベースのためのアクティブなリスナーを維持する場合、それはまた、電池の消耗に加え、ユーザーのデバイス上で開いたソケットを保持しています。

FCMの場合、通知を送信する必要がある場合にのみトリガーします。 フレンドリクエストが本当にそのアプリのクリティカルではない場合は、FCMを使用することをお勧めします。

両方とも使用することを検討しましたか?ユーザーが現在オンラインであれば、リアルタイムDBを使用するとよいでしょうが、ユーザーがオフラインの場合はchildAddedがトリガーされません(例:などのアプリを使用していません)。その場合、通知をユーザーに送信するように設定できます。

フレンドリクエストは、対応するアクション(FCM通知またはリアルタイムDBアップデート)をトリガーするように、まずデータベースまたはアプリケーションサーバーに保存する必要があります。

+1

あなたの応答、ALいただきありがとうございます。前にも触れましたが、childAddedはサービスで聴かれるため、ユーザーがオフラインの場合でも引き続きトリガーされます。しかし、はい、ポイントはchildAdded、すべてのユーザーがそれをキャッチしますが、私たちはそれをスキップするためにマイナーチェックが必要です。 FCMもサービスを利用しています。私はどちらが良いかを確認するために、より多くのテストが必要だと思う:P – Mov5

+0

私は参照してください。私は 'childAdded'でその部分を見逃しました。いずれかの人はまだうまくいくはずです。 *友達リクエスト*が届いている限り。あなたのアプリに幸運。乾杯! –

+1

私はあなたの答えを投票したいと思いますが、私の評判はまだ十分ではありません。さらに、ユーザーレコード内のデータベースを更新した場合(たとえば、「要求済み」という名前のフィールド)、そのユーザーだけが確認せずに通知を受け取ります。再度、ありがとうございます;) – Mov5

関連する問題