この記事を書いた理由
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周りも実装してみたい。
コメント