Amazon Pinpoint とは(プッシュ通知編)

こんにちは。投資戦略システム事業部の西永です。

新卒で入社し、そろそろ2年目になります。

今回は業務で用いたAmazon Pinpoint(プッシュ通知編)について書かせていただきます。

※本来はSMSやEメール、音声もPinpointの範囲ですが、今回はプッシュ通知に絞って書きます

そもそもAmazon Pinpointとは

このAmazon Pinpointは2016年12月1日から提供が開始されました。*1(東京リージョンは2020年9月12日から提供が開始されました*2

機能は以下のとおりです。

Amazon Pinpoint は柔軟でスケーラブルなアウトバウンドおよびインバウンドマーケティングコミュニケーションサービスです。

aws.amazon.com

公式の文章だけだとさっぱりですが

  • プッシュ通知等の反応からユーザの分析が行うことができる!

  • 分析結果から的確なユーザのみにプッシュ通知等のメッセージを飛ばせる!

  • メッセージを飛ばす行動(プッシュ通知等)を効率的に速く行なえる!

大体この3つが特徴となります。

分析面に関してはGUIでグラフ表示してくれるので、結構見易いです。

f:id:teco_nishinaga:20210121181353p:plain

料金

※プッシュ通知編なので、プッシュ通知に限って書いてます

aws.amazon.com

Pinpointのプッシュ通知では3つに分けて料金が徴収されます。

  • 毎月の対象デバイス (MTA) の料金
  • イベント収集料金
  • メッセージ送信料金

これらの説明の前に、次の説明に出てくる「エンドポイント」の説明をします。

このエンドポイントとは、AWSでは次のように説明されています。

エンドポイントは、ユーザーのモバイルデバイスや電話番号、E メールアドレスなど、メッセージの送信先を表します。

docs.aws.amazon.com

実際はこれだけではなく、エンドポイントには色んな情報が紐付けられますが省略します。

プッシュ通知の場合だとスマホやタブレット等の端末一つ一つにエンドポイントが必要となります。

毎月の対象デバイス (MTA) の料金

MTA の 5,000 エンドポイントまでは無料、その後は 1,000 エンドポイントあたり 1.20 USD。

毎月の対象デバイス (MTA) 、いわばプッシュ通知を送る端末の数です。

例えば10万人のユーザに対してプッシュ通知を送る場合、その分10万個のエンドポイントが最低限必要となるので

(100,000 - 5000) / 1000 * 1.2 = 114 USD

1万強の出費がプッシュ通知をそこまで行わなくても毎月発生します。

イベント収集料金

アプリケーションイベントを収集する場合は、1 か月あたりに収集されたイベント 1 億件までは無料で、その後は収集されたイベントあたり 0.000001 USD の料金が発生します。

0.000001 USD、つまり100万件で1 USDです。

集める範囲次第ですね。

イベント収集の対象としては、AWSのページでは下記が例として示されています。

キャンペーンイベント (プッシュ通知内のリンクをクリックするなど) や、モバイルアプリケーションの通常の使用で記録されるイベント (アプリケーションを開くなど) が含まれます。

メッセージ送信料金

プッシュ通知

通知 100 万件までは無料で、その後は通知 100 万件あたり 1.00 USD の料金が発生します。

以下の両方の料金が発生します。

通知 100 万件までは無料、その後は通知 100 万件あたり 1 USD。

もともとプッシュ通知だけ送るのであれば無料で行える関係か、この点は良心的です。


こうして見てみると、「毎月の対象デバイス (MTA) の料金」が結構お高めなことが分かります。

イベント収集をしないとしても、エンドポイントを作成するとそこそこの料金は発生しますので、採用する場合は注意しましょう。

実際にPinpointのコンソールからプッシュ通知を送ってみる

例として、実際にPinpointのコンソールからプッシュ通知を送ってみます。

下記手順を済ませることで、「デバイストークン」からプッシュ通知を送ることが可能になります。

※エンドポイントからプッシュ通知を送る場合はまた設定が必要です

※アプリ側のプッシュ通知実装については解説していません(必要な場合は公式サンプル等を参照して実装してください)

  1. AWSでPinpointへアクセス f:id:teco_nishinaga:20210121200446p:plain

  2. 好きな名前でプロジェクトを作成 f:id:teco_nishinaga:20210121200603p:plain

  3. 「プッシュ通知」の「設定」をクリック f:id:teco_nishinaga:20210121200644p:plain

  4. 該当するサービスに必要な情報を入力して「保存」をクリック f:id:teco_nishinaga:20210121200829p:plain

  5. 左タブにある「メッセージングをテスト」をクリック f:id:teco_nishinaga:20210121203844p:plain

  6. 送信タイプを「デバイストークン」にしてデバイストークンを入力、その後プッシュ通知サービスを該当するものに変更(画像ではFCMにしてます) f:id:teco_nishinaga:20210121204133p:plain

  7. 「タイトル」「本文」を入力し、「メッセージを送信」をクリック f:id:teco_nishinaga:20210121204627p:plain

  8. 「メッセージが送信されました」が表示され、プッシュ通知が端末に来たら完了です(エミュレータの場合、数分ぐらい待たされることがあるので注意) f:id:teco_nishinaga:20210121204948p:plain f:id:teco_nishinaga:20210121211539p:plain

いかがでしたでしょうか。

今回の例だとまだPinpointを使う必要性はあまり無いですが、エンドポイントを本格的に使用できるようになると真価を発揮します。

その例については、また別の機会があれば書かせていただきます。


Amazon Web Servicesおよびかかる資料で使用されるその他の AWS 商標 は、米国および/またはその他の諸国における、Amazon.com, Inc. またはその関連会社の商標です。

tecotec.co.jp