Android プッシュ通知を実装する必要があるアプリに取り組んでいます。
Firebase Cloud Messaging を直接使用することにしました。AWS SNS やプッシャーなどの他の抽象化を使用しません。
次のアプローチを使用して、バックエンドでのデバイス トークンの保存と管理を回避したいと考えています。
アンドロイドアプリで.
- ユーザーが Android アプリケーションにログインすると、デバイス トークンを取得しますが、サーバーには送信しません。
- トピックがそのユーザーに固有のものであるように、合意された規則に基づくトピックにサブスクライブします。
- ログアウト時に、トピックからサブスクライブを解除します。
サーバーで。
- 特定のユーザーに通知を送信する状況が発生するたびに、慣例に基づいてトピックにプッシュ通知を送信します。
これがデバイス トークンの管理を回避するための実行可能な戦略であるかどうかを知りたいですか?
トピックの使用に対するケース。
公式ドキュメントから。
パブリッシュ/サブスクライブ モデルに基づいて、FCM トピック メッセージングを使用すると、特定のトピックにオプトインした複数のデバイスにメッセージを送信できます。必要に応じてトピック メッセージを作成すると、FCM がメッセージのルーティングと適切なデバイスへの確実な配信を処理します。
たとえば、地域の天気予報アプリのユーザーは、「重大な気象警報」トピックにオプトインして、特定の地域を脅かす嵐の通知を受け取ることができます。スポーツ アプリのユーザーは、お気に入りのチームのライブ ゲーム スコアの自動更新を購読できます。
複数のデバイスに通知する場合、トピックが推奨されるようです。しかし、私はユーザーごとにトピックを作成することにしました。これは、ほとんどのトピックが 1 つのデバイスによってのみサブスクライブされることを意味します。このアプローチは大丈夫ですか?