Open1

PUSH配信システム構築に関するスクラップ

ふじしろふじしろ

https://canisterism.hatenablog.com/entry/2021/10/02/010722

アプリ:flutter
サーバー:Rails
システム構成:App -> Server -> AWS SQS -> Lambda -> FCM
筆者の経験から事前に知りたかったこと

  • 通知を許可するかユーザーに聞くダイアログが出るのはiOSのみ。Androidは何も出ずに許可されたのと同じステータスになる。
  • トークンは端末に対して払い出すので、アプリ上のユーザーと対応させたいなら工夫が必要
  • トークンはDB上で永続化するべし
  • トピックの一覧やトピックに紐付けたトークンを取得する方法がない
  • 記事執筆時点でFCMのトピックは削除することが出来ません。
  • 後方互換性には気を使ったほうが良い

https://www.softech.co.jp/mm_231004_tr.htm

システム構成
Lambda -> AWS SNS -> FCM

① Lambda関数からAmazon SNSを呼び出します。
実案件では前述の記事内で紹介している技術を使用し、Cognitoと組み合わせたAPI GatewayをLambda関数起動のトリガーとしています。
Lambda関数のトリガーには他のAWSサービスを設定することもできます。
② 予め連携の設定を行っておき、Amazon SNS からFCMに接続します。
③ FCMから対象のスマホにプッシュ通知が送信されます。