AWS Amplifyでモバイルアプリケーションへのプッシュ通知を行う

aws

この記事を書いた理由

AWS Amplify Gen2がリリースされたものの、日本語での解説記事が少なく(探し方が悪い?)、困っている人がもし居たら….と思い記事にすることにした。(特にモバイルアプリケーション向けの記事は少ない…)

そもそも、AWS Amplifyとは

AWS上のさまざまなサービスをラッピングし、Webやモバイルアプリケーションに特化したサービス。

詳しくは→https://aws.amazon.com/jp/amplify/

僕はプッシュ通知を送りたい

僕の中で、少し前までモバイルアプリケーション向けのプッシュ通知をAWSで実現したい場合には、Amplifyがすぐ候補となっていた。

周りを見てもPinpointでの実装は少なく、Amplifyでの実装例が多かった。

いつもの通り、amplify initしようとしたら、Gen2使ってねというメッセージが表示され、「せっかくだから…」という軽い気持ちで足を踏み入れることにした。(違いも何も調べずにね)

Get Startからはじめた

Get Startから始めたものの、プッシュ通知に関するサンプルが見当たらなかった。(もしかしたら今後更新されているかもしれない。)

公式ドキュメント以外も探したが、それらしきものは見当たらず…

Gen1のころを思い出した

Gen1の頃に使っていたライブラリと全く同じであることに気づいた。

Amplify Gen2では、バックエンドの構成がtypescriptによるCDKであるため、そこさえできれば実装できそうだ。

そして完成

backend.addOutput({
  /* 省略 */
  notifications: {
    aws_region: Stack.of(pinpoint).region,
    amazon_pinpoint_app_id: pinpoint.ref,
    channels: ['IN_APP_MESSAGING', 'APNS'],
  }
});

これをamplify/backend.tsに記載することで、プッシュ通知の配信対象となった。

addOutputに追加することで、amplify_outputs.jsonに出力されるためだと思われる。

この後について

  • Pinpointプロジェクト上でAPNsのキーなどの情報をセットしているが、自動化できれば自動化したい。
  • auth周りも実装してみたい。

コメント

タイトルとURLをコピーしました