Open1
PUSH配信システム構築に関するスクラップ
アプリ:flutter
サーバー:Rails
システム構成:App -> Server -> AWS SQS -> Lambda -> FCM
筆者の経験から事前に知りたかったこと:
- 通知を許可するかユーザーに聞くダイアログが出るのはiOSのみ。Androidは何も出ずに許可されたのと同じステータスになる。
- トークンは端末に対して払い出すので、アプリ上のユーザーと対応させたいなら工夫が必要
- トークンはDB上で永続化するべし
- トピックの一覧やトピックに紐付けたトークンを取得する方法がない
- 記事執筆時点でFCMのトピックは削除することが出来ません。
- 後方互換性には気を使ったほうが良い
システム構成
Lambda -> AWS SNS -> FCM
① Lambda関数からAmazon SNSを呼び出します。
実案件では前述の記事内で紹介している技術を使用し、Cognitoと組み合わせたAPI GatewayをLambda関数起動のトリガーとしています。
Lambda関数のトリガーには他のAWSサービスを設定することもできます。
② 予め連携の設定を行っておき、Amazon SNS からFCMに接続します。
③ FCMから対象のスマホにプッシュ通知が送信されます。