こんにちは!
今回はユーザーに通知などを配信できる Amazon Pinpoint について解説していきます!
Amazon Pinpoint はユーザーに様々なメッセージを送信できるサービスです。使い方としては、アプリケーションにおいて何かしらのキャンペーンが発生した場合などに通知を行うため利用しているケースが一般的かと思います。
プッシュ通知以外にも、メール・SMS・音声なども送信できます。通知はイベントベース、もしくはスケジュールに従って行うことができます。管理コンソールはマーケティング担当者の目線でも、管理および分析がしやすくなっておりますので、その点はほかのサービスと異なる点かもしれません。
では早速テストでキャンペーンを作成し、メール通知をしてみましょう。マネジメントコンソールの UI がとてもわかりやすいので、そちらを利用してどういった手順でメール通知をしていくのか確認していきましょう。
まず Amazon Pinpoint で事前にプロジェクトを作成してください。 そのあとに Eメール を有効にしてメールアドレスを入力します。このメールアドレスが通知の送信元となります。設定後、指定したメールアドレスに通知がいくので、そこに記載されている URL をクリックして検証を完了してください。
次にセグメントを作成します。セグメントはいわば配信先リストとなります。S3 バケットにリストをアップロードしてインポートすることも可能です。
こちらは以下のように CSV ファイルを作成してインポートします。
ChannelType,Address
EMAIL,test@example.com
指定するメールアドレスは事前に検証する必要があります。こちらを参考に検証しておいてください。
セグメントを作成したら、次にメッセージテンプレートを作成します。
最後にキャンペーンを作成することでメールの配信ができます。この場ではテストのため、スケジュールせずに即時で通知します。作成ウィザードに従っていきます。その際先ほど作成したセグメントやメッセージテンプレートを選択してください。
キャンペーンの画面へ行くと実行結果がわかります。
なお新規ユーザーやキャンペーンに関する分析などがマネジメントコンソールで可視化されています。こちらも確認してみてください。
Amazon Pinpoint は手動対応が求められることが多いので、CloudFormation 化するのは難しいです。セグメントの作成時にインポートするものが多かったり、メールの検証を行わねばならなかったり、そういった場合があるため CloudFormation がサポートされていてもデプロイ後に結局マネジメントコンソールでの操作が発生します。
そのため、Pinpoint における管理はマネジメントコンソール上で行うのがよいでしょう。AWS のリソースではありますが、コード管理するほどの複雑性のあるリソースではありませんので不都合は生じないと思います。
なお、CloudFormation で作成する場合は以下のような形になります。
Resources:
# プロジェクト
PinpointApp:
Type: AWS::Pinpoint::App
Properties:
Name: test
# セグメント
PinpointSegment:
Type: AWS::Pinpoint::Segment
Properties:
ApplicationId: !Ref PinpointApp
Name: test
# メッセージテンプレート
PinpointEmailTemplate:
Type: AWS::Pinpoint::EmailTemplate
Properties:
TemplateName: My_Message_Template
HtmlPart: |
<!DOCTYPE html>
<html lang=en>
<head>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
</head>
<body>
This is test.
</body>
</html>
Subject: TEST!!!!!!!!!!
# キャンペーン
PinpointCampaign:
Type: AWS::Pinpoint::Campaign
Properties:
Name: 定期的な通知
ApplicationId: !Ref PinpointApp
HoldoutPercent: 0
MessageConfiguration:
EmailMessage:
FromAddress: divemth@gmail.com
Schedule:
EndTime: 2022-06-15T00:00:00+09:00
Frequency: WEEKLY
IsLocalTime: true
QuietTime: {}
StartTime: 2021-12-15T00:00:00+09:00
Timezone: UTC+09
IsPaused: false
Limits:
Daily: 0
MaximumDuration: 10800
MessagesPerSecond: 20000
Total: 0
SegmentId: !GetAtt PinpointSegment.SegmentId
SegmentVersion: 1
様々な種類のメッセージを定期的もしくはイベントドリブンに送信できる Amazon Pinpoint ですが、よりマーケティング向けに優れた「ジャーニー」という機能があります。
これは配信のフローを組むことのできる機能で、マーケティング戦略に合わせたシナリオを作ることができます。GUI で選択していくだけでシナリオができるので、作成者が Amazon Pinpoint を使うのが初めてでも直感的に構築できます。
これらのことから分かる通り、Amazon Pinpoint は開発者よりはマーケティングの担当者などが操作することを意識して作られているようです。開発者とビジネスサイドの関係者で成り立つサービスなので、このあたりはほかの AWS サービスと比べると特徴的な点になると思います。
Amazon Pinpoint では配信だけでなく分析も行えますので、開発者およびマーケティング担当者などがユーザーに対してのエンゲージメントを可視化することができます。ぜひ機会があればご活用ください。
このブログでは、AWS の記事をどんどん公開しておりますので、ご興味のある方は他の記事もご覧いただければと思います。
AWS に関する開発は、お気軽にお問い合わせください。
スモールスタート開発支援、サーバーレス・NoSQLのことなら
ラーゲイトまでご相談ください
低コスト、サーバーレスの
モダナイズ開発をご検討なら
下請け対応可能
Sler企業様からの依頼も歓迎