Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Pinpoint でユーザーに合わせたプッシュ通知を実現する / Personalized push notification with Amazon Pinpoint

kiwi
September 06, 2019

Amazon Pinpoint でユーザーに合わせたプッシュ通知を実現する / Personalized push notification with Amazon Pinpoint

iOSDC Japan 2019 day1 (2019/09/06) 16:30- Track B
https://fortee.jp/iosdc-japan-2019/proposal/2c0d8d55-9ee0-4443-ad99-06385c3a22e6
--------

プッシュ通知の配信といえば Firebase を思い浮かべる方が多いと思いますが、
AWS でも Pinpoint というサービスを使うことで、プッシュ通知のセグメント送信をすることができます。
さらに、 AWS Pinpoint では AWS Lambda を使ってセグメントをカスタマイズすることができるため、
ほかの AWS リソースのユーザー情報をもとに通知内容をユーザーごとに変更することまでできます。
また、ユーザーに複数のチャネルを割り当てることができるため、プッシュメールとプッシュ通知を使い分ける、といったことも可能です。

本 LT では、 Pinpoint を用いたプッシュ通知の配信から、こうしたユーザーごとのカスタマイズまでを扱います。
特に普段のアプリのバックエンドで AWS を活用しており、通知配信も AWS 内で行いたい方の参考になれば幸いです。
--------
参考
■公式ドキュメント
Amazon Pinpoint 開発者ガイド
https://docs.aws.amazon.com/ja_jp/pinpoint/latest/developerguide/welcome.html

■スライド中の素敵な画像
ダ鳥獣戯画 http://www.chojugiga.com/

※スライドに記載の情報は 2019/9/6 時点での情報です。

kiwi

September 06, 2019
Tweet

More Decks by kiwi

Other Decks in Technology

Transcript

  1. Amazon Pinpoint で
    ユーザーに合わせたプッシュ通知を実現する
    kiwi @koga_wiwi
    ニフティライフスタイル株式会社
    2019.09.06 iOSDC Japan 2019

    View full-size slide

  2. はじめに
    えらいひと
    「プッシュ通知を送るぞ!」

    View full-size slide

  3. はじめに
    どうやって実装しようか……

    View full-size slide

  4. はじめに

    View full-size slide

  5. パブリッククラウドといえば……
    IaaS市場シェア2018
    https://japan.zdnet.com/article/35140599/
    Azure
    Alibaba

    View full-size slide

  6. パブリッククラウドといえば……
    IaaS市場シェア2018
    https://japan.zdnet.com/article/35140599/
    Azure
    Alibaba
    圧倒的
    ※個人の感想です

    View full-size slide

  7. 弊社も例にもれず
    \アプリエンジニア募集中!/

    View full-size slide

  8. 弊社も例にもれず
    AWS ロゴは https://press.aboutamazon.com/images-videos より

    View full-size slide

  9. はじめに
    AWS Cloud
    ユーザー情報

    View full-size slide

  10. ユーザーに合わせて通知タイミングを変える
    AWS Cloud
    !
    ユーザー情報
    AWS上のユーザー情報を活用しながら
    プッシュ通知までAWSで完結させたい

    View full-size slide

  11. ユーザーに合わせて通知タイミングを変える
    AWS Cloud
    !
    ユーザー情報
    Push通知
    いい感じに通知送れる
    なんかすごいやつ
    AWS上のユーザー情報を活用しながら
    プッシュ通知までAWSで完結させたい

    View full-size slide

  12. Amazon Pinpoint
    Amazon Pinpoint

    View full-size slide

  13. Amazon Pinpoint
    ● エンドユーザーとの
    コミュニケーション用サービス
    ○ プッシュ通知(iOS, Android)
    ○ SMS
    ○ メール など
    ● アプリ向けアクセス解析
    ○ 各種イベントを計測できる
    ○ 解析結果をもとにセグメント可能

    View full-size slide

  14. 扱えるお知らせは2種類
    キャンペーン
    (一斉送信)
    トランザクション
    (個別送信)
    ※メールのみ対応
    ※プッシュ通知/メール/SMS対応
    ※2019/10/01 修正
    https://docs.aws.amazon.com/ja_jp/pinpoint/latest/developerguide/send-messages.html

    View full-size slide

  15. 扱えるお知らせは2種類
    キャンペーン
    (一斉送信)
    トランザクション
    (個別送信)
    ※メールのみ対応
    ※プッシュ通知/メール/SMS対応
    ※2019/10/01 修正
    https://docs.aws.amazon.com/ja_jp/pinpoint/latest/developerguide/send-messages.html

    View full-size slide

  16. 一斉送信のプッシュ通知といえば

    View full-size slide

  17. 一斉送信のプッシュ通知といえば

    View full-size slide

  18. 開封してもらえる通知とは
    ユーザーに合わせたプッシュ通知

    View full-size slide

  19. ユーザーに合わせたプッシュ通知
    ユーザーを選んで通知を送る
    (セグメント配信)
    ユーザーに合わせて通知文を変える
    外部DBのデータをもとに通知をカスタマイズ

    View full-size slide

  20. ユーザーに合わせたプッシュ通知
    ユーザーを選んで通知を送る
    (セグメント配信)
    ユーザーに合わせて通知文を変える
    外部DBのデータをもとに通知をカスタマイズ

    View full-size slide

  21. えらいひとは言いました
    「IT分野に興味がある人にだけ通知送りたい」
    「最近アプリを起動していない人に訴求を」

    View full-size slide

  22. ユーザーを選んで送る(セグメント配信)
    device
    token
    12345678 34567890 56789012

    View full-size slide

  23. ユーザーを選んで送る(セグメント配信)
    name うさぎ かえる ぱんだ
    favorite IT Fashion IT
    active 2019-09-03 2019-08-30 2019-08-31
    device
    token
    12345678 34567890 56789012

    View full-size slide

  24. ユーザーを選んで送る(セグメント配信)
    name うさぎ かえる ぱんだ
    favorite IT Fashion IT
    active
    device
    token
    12345678 34567890 56789012
    ! !
    2019-09-03 2019-08-30 2019-08-31

    View full-size slide

  25. ユーザーを選んで送る(セグメント配信)
    name うさぎ かえる ぱんだ
    favorite IT Fashion IT
    active
    device
    token
    12345678 34567890 56789012
    ! !
    2019-09-03 2019-08-30 2019-08-31

    View full-size slide

  26. ユーザーに合わせたプッシュ通知
    ユーザーを選んで通知を送る
    (セグメント配信)
    ユーザーに合わせて通知文を変える
    外部DBのデータをもとに通知をカスタマイズ

    View full-size slide

  27. えらいひとは言いました
    「通知にユーザー名入れたら開封率爆アゲでは」

    View full-size slide

  28. 通知にユーザー名を含める
    name うさぎ かえる ぱんだ
    favorite IT Fashion IT
    active 2019-09-03 2019-08-30 2019-08-31
    device
    token
    12345678 34567890 56789012

    View full-size slide

  29. 通知にユーザー名を含める
    name うさぎ かえる ぱんだ
    device
    token
    12345678 34567890 56789012
    {{Attributes.name}} さんへのおすすめ情報!

    View full-size slide

  30. 通知にユーザー名を含める
    name うさぎ かえる ぱんだ
    device
    token
    12345678 34567890 56789012
    {{Attributes.name}} さんへのおすすめ情報!
    うさぎ さんへのおすすめ情報!
    !

    View full-size slide

  31. ユーザーに合わせたプッシュ通知
    ユーザーを選んで通知を送る
    (セグメント配信)
    ユーザーに合わせて通知文を変える
    外部DBのデータをもとに通知をカスタマイズ

    View full-size slide

  32. 外部のDBのデータをもとに通知を送る
    AWS Cloud
    !
    ユーザー情報
    Push通知

    View full-size slide

  33. えらいひとは言いました
    DBに入っている新着情報の件数を
    通知の本文中に埋め込みたい

    View full-size slide

  34. 一般的なプッシュ通知
    バッチ処理 データベース 配信サーバ
    通知対象の
    ユーザーの条件
    条件に合致する
    ユーザーの情報

    View full-size slide

  35. 一般的なプッシュ通知
    バッチ処理 データベース 配信サーバ
    通知対象の
    ユーザーの条件
    条件に合致する
    ユーザーの情報
    通知内容を作成
    作成した通知内容と端末トークンを送信
    配信

    View full-size slide

  36. Amazon Pinpoint の場合は
    Amazon Pinpoint

    View full-size slide

  37. Amazon Pinpoint の場合は
    フィルター関数

    View full-size slide

  38. Amazon Pinpoint の場合は
    フィルター関数
    (パブリックベータ)

    View full-size slide

  39. Amazon Pinpoint の場合は
    フィルター関数
    (1年半くらいパブリックベータ)

    View full-size slide

  40. Amazon Pinpoint のフィルター関数
    バッチ処理 Pinpoint
    通知条件と内容
    条件に合うユーザーに通知を配信

    View full-size slide

  41. Amazon Pinpoint のフィルター関数
    バッチ処理 Pinpoint
    通知条件と内容
    フィルター関数
    関数から返却されたリストと内容で通知を配信

    View full-size slide

  42. Amazon Pinpoint のフィルター関数
    バッチ処理 Pinpoint
    通知条件と内容
    フィルター関数
    対象者リスト
    送信内容
    関数から返却されたリストと内容で通知を配信

    View full-size slide

  43. Amazon Pinpoint のフィルター関数
    バッチ処理 Pinpoint
    通知条件と内容
    フィルター関数
    対象者リスト
    送信内容
    カスタマイズした
    対象者リスト
    関数から返却されたリストと内容で通知を配信

    View full-size slide

  44. Amazon Pinpoint のフィルター関数
    バッチ処理 Pinpoint
    通知条件と内容
    フィルター関数
    対象者リスト
    送信内容
    カスタマイズした
    対象者リスト
    関数から返却されたリストと内容で通知を配信
    ・一部ユーザーの削除
    ・属性の変更 など

    View full-size slide

  45. Amazon Pinpoint のフィルター関数
    バッチ処理 データベース
    Pinpoint
    通知条件と内容
    フィルター関数
    対象者リスト
    送信内容 (必要に応じて)
    ユーザー情報取得
    関数から返却されたリストと内容で通知を配信
    ・一部ユーザーの削除
    ・属性の変更 など
    カスタマイズした
    対象者リスト

    View full-size slide

  46. 外部DBのデータをもとに通知をカスタマイズ
    info_count 0 0 0
    device
    token
    12345678 34567890 56789012
    info_count 0 0 2

    View full-size slide

  47. 外部DBのデータをもとに通知をカスタマイズ
    info_count 0 0 2
    device
    token
    12345678 34567890 56789012
    info_count 0 0 2

    View full-size slide

  48. 外部DBのデータをもとに通知をカスタマイズ
    info_count 0 0 2
    device
    token
    12345678 34567890 56789012
    info_count 0 0 2
    ぱんだ さんへの新着情報が 2 件あります!

    View full-size slide

  49. まとめ
    プッシュ通知は Firebase だけじゃない!
    すでに AWS を使っているサービスは
    Pinpoint を使うメリットも十分にある!
    フィルター関数機能を使うことで
    外部DBを含めた柔軟なカスタマイズが可能!

    View full-size slide

  50. 参考
    ■公式ドキュメント
    Amazon Pinpoint 開発者ガイド
    https://docs.aws.amazon.com/ja_jp/pinpoint/latest/dev
    eloperguide/welcome.html
    ■スライド中の素敵な画像
    ダ鳥獣戯画 http://www.chojugiga.com/
    ※スライドに記載の情報は 2019/9/6 時点での情報です。

    View full-size slide

  51. 資料の改定履歴
    ■2019/10/01
    「トランザクションメッセージはメールのみ対応」については誤っていた
    ため修正(プッシュ通知、SMS、音声メッセージ、メール対応)

    View full-size slide