Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Cloud Native イベント向けLINEボット
Search
Norimitsu Yamashita
May 17, 2019
Programming
1
350
AWS Cloud Native イベント向けLINEボット
Norimitsu Yamashita
May 17, 2019
Tweet
Share
More Decks by Norimitsu Yamashita
See All by Norimitsu Yamashita
セキュアに実装するLINEログイン
nori3tsu
0
23
LINE開発基盤を利用した ビジネス特化型高速アプリ開発
nori3tsu
1
280
Hasuraの本番運用に向けて
nori3tsu
0
1.2k
LINE Developer Community忘年LT大会 2022 - LINE Developers News 振り返り
nori3tsu
0
230
LIFF・LINEミニアプリでApple Pay決済
nori3tsu
0
650
Vue.js-Nuxt.jsのグローバルエラーハンドリング実装.pdf
nori3tsu
1
4.2k
AWSとLINE Bot Server
nori3tsu
0
580
Nuxt.jsで作るLINEボット
nori3tsu
1
690
Other Decks in Programming
See All in Programming
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
880
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Jakarta EE meets AI
ivargrimstad
0
110
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
CSC509 Lecture 09
javiergs
PRO
0
140
Ethereum_.pdf
nekomatu
0
460
Jakarta EE meets AI
ivargrimstad
0
200
CSC509 Lecture 11
javiergs
PRO
0
180
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
180
Contemporary Test Cases
maaretp
0
140
Jakarta EE meets AI
ivargrimstad
0
650
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
A Philosophy of Restraint
colly
203
16k
Designing the Hi-DPI Web
ddemaree
280
34k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
What's in a price? How to price your products and services
michaelherold
243
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Scaling GitHub
holman
458
140k
Transcript
Copyright ©2019 Grandream Inc. All Rights Reserved. LINE Developer Community︓第
3 回 ボット⾃慢 LT ⼤会 AWS Cloud Native イベント向けLINEボット
- 2 - Copyright ©2019 Grandream Inc. All Rights Reserved.
⾃⼰紹介 @nori3tsu ⼭下 徳光 / Norimitsu Yamashita 株式会社グランドリーム 代表取締役 兼 エンジニア Webアプリ・LINEボットの受託開発をしています。 AWSクラウドネイティブなアプリ開発が得意で 最近はフロントエンドにも⼒をいれています。 norimitsu.yamashita nori3tsu
- 3 - Copyright ©2019 Grandream Inc. All Rights Reserved.
1, 開発したボット 2, 開発の経緯 3, ボットの機能 4, 苦労した点 5, アーキテクチャ 6, まとめ
Copyright ©2019 Grandream Inc. All Rights Reserved. - 4 -
1, 開発したボット
- 5 - Copyright ©2019 Grandream Inc. All Rights Reserved.
1, 開発したボット 2019年4⽉20⽇・21⽇に 神奈川県 川崎市 川崎⼤師地区で開催された、 毎年20万⼈が訪れる「かわさき楽⼤師まつり」向けの LINEボットを開発。
Copyright ©2019 Grandream Inc. All Rights Reserved. - 6 -
2, 開発の経緯
- 7 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 課題: 1. ITを活⽤した施策で若者を集めたい 2. 通年開催される各種イベントに集客したい 3. 来場者の属性が知りたい 4. 商店街にも⽴ち寄ってもらいたい 5. 運営スタッフ不⾜で問い合わせ対応が遅れる
- 8 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 Ans. AU 7,600万⼈のLINEアプリ 1. ITを活⽤した施策で若者を集めたい
- 9 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 Ans. プッシュ通知のリマインド 2. 通年開催される各種イベントに集客したい
- 10 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 Ans. 来場者アンケート 3. 来場者の属性が知りたい
- 11 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 Ans. 4. 商店街にも⽴ち寄ってもらいたい クーポン LINEビーコン連携クーポン
- 12 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 Ans. AIチャットボット 5. 運営スタッフ不⾜で問い合わせ対応が遅れる
- 13 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 イベント向けアプリの特性 開催期間中しか利⽤しないため、 • 来場者: ⇒ パケットを消費してDLしたくない • 運営者: ⇒ 開発費を抑えたい
- 14 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 LINEボットの利点: • ダウンロード・インストール不要 ⇒ 友だち追加で即利⽤可能 • 低コスト ⇒ API利⽤のデザイン・実装 ⇒ マルチプラットフォーム対応 (iOS/Android)
- 15 - Copyright ©2019 Grandream Inc. All Rights Reserved.
2, 開発の経緯 LINEボットは イベント向けアプリに向いている 結論:
Copyright ©2019 Grandream Inc. All Rights Reserved. - 16 -
3, ボットの機能
- 17 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 1. イベント情報 2. クーポン情報 3. 来場者アンケート 4. お友達紹介 5. 会場マップ 6. 会場アクセス 7. 楽ちゃんに聞く 8. LINEビーコン連携
- 18 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 かわさき楽⼤師まつり向け LINEボットアプリ
- 19 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 1. イベント情報 • カルーセル表⽰ • 「詳細」 • 公式HPのリンク
- 20 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 2. クーポン – 表⽰ • カルーセル表⽰ • 「クーポンを確認」 • クーポン利⽤画⾯へ • 「お店の場所を確認」 • 現在地からの経路表⽰ • 「WEBサイト」 • 公式HPのリンク
- 21 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 2. クーポン – 利⽤ • 詳細表⽰ • LIFF • クーポンを利⽤
- 22 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 3. 来場者アンケート • 属性⼊⼒
- 23 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 4. お友達に紹介 • 「LINEで送る」 • お友達にリンクを送る • 「Twitterでシェアする」 • 「QRコード」 • 友だち追加のQR表⽰
- 24 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 4. お友達に紹介 – ⻘空プログラミング
- 25 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 4. お友達に紹介 – ⻘空プログラミング
- 26 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 5. 会場マップ • 会場マップ画像表⽰
- 27 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 6. 会場アクセス • 「道順を確認」 • 現在地からの経路表⽰ • 「周辺の有料駐⾞場を探す」 • Mapで駐⾞場を表⽰ • 「詳細情報を確認」 • 公式HPのリンク
- 28 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 7. 楽ちゃんに聞く • AIチャットボット • LIFF
- 29 - Copyright ©2019 Grandream Inc. All Rights Reserved.
3, ボットの機能 7. LINEビーコン連携 • クーポン配信
Copyright ©2019 Grandream Inc. All Rights Reserved. - 30 -
4, 苦労した点
- 31 - Copyright ©2019 Grandream Inc. All Rights Reserved.
4, 苦労した点 みなさん このLINEボットは2⽇間でどれだけの お友達を獲得したと思いますか︖
- 32 - Copyright ©2019 Grandream Inc. All Rights Reserved.
4, 苦労した点 Ans. 2⽇間で600⼈以上
- 33 - Copyright ©2019 Grandream Inc. All Rights Reserved.
4, 苦労した点 LINEボット集客の施策: • 近隣マンションへのチラシ配り(約3,000枚) • ラジオ告知 • 東京新聞・神奈川新聞掲載 • HP掲載・SNS告知 • 開催期間中、ステージで4回紹介 • 場内アナウンスで都度紹介 • 会場でのチラシ配り(数千枚)
Copyright ©2019 Grandream Inc. All Rights Reserved. - 34 -
5, アーキテクチャ
- 35 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – ポイント • AWS Cloud Native • 完全従量課⾦ • リクエストに応じてスケール • インフラ運⽤不要 • serverless + CloudFormation • Infrastructure as Code • 再利⽤性 • 他のLINEボットにも即適⽤可能
- 36 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – 全体図 AWS Cloud ⾏動分析 Webhook基盤 Event Worker Event Worker Event Worker 分析基盤 LIFF Event Worker メッセージ LIFF表⽰ ボットが増えても Event Workerを 増やすことで対応可能
- 37 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – Webhook基盤 署名検証・イベント登録 AWS Cloud SQS ユーザー情報 登録・削除 DynamoDB ⾏動ログ登録 Lambda S3 Lambda 分析⽤に加⼯・保存 Cognito DynamoDB Streams API Gateway Lambda Webhookイベント • LINEボットのWebhook共通処理基盤 • 署名検証 • イベント登録(Event Workerで⾮同期処理) • ⾏動ログ収集 • ユーザー情報登録・削除(follow/unfollow) 200 OK [⾮同期]
- 38 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – Event Worker イベント取得 AWS Cloud Reply Message SQS データ管理 DynamoDB Lambda • Webhook基盤で登録されたイベントを処理するワーカー • Webhookの処理が共通化されていることでロジックに集中 ⾃然⾔語処理
- 39 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – LIFF LIFF AWS Cloud Lambda DynamoDB Cognito CloudFront S3 静的ファイル ユーザー認証 データ管理 表⽰ AppSync GraphQL API + Cognito認証 ドメインロジック • Nuxt.js/Vue.jsを使ったSPA構成 • 独⾃JWT認証でセキュリティを向上(後述) html,js,css,jpg
- 40 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – LIFF(JWT認証)
- 41 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – 分析基盤 分析者 AWS Cloud 分析 • Webhook基盤で登録した分析データを可視化 • AthenaでS3に分析クエリを発⾏ • QuickSightで可視化 S3 Athena QuickSight 分析クエリ
- 42 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – 分析基盤(グラフ) 例: 時間帯別フォロー数
- 43 - Copyright ©2019 Grandream Inc. All Rights Reserved.
5, アーキテクチャ – プロビジョニング AWS Cloud • serverlessでCloudFormationを操作 • serverless.ymlにAWSサービスの情報を管理 • Infrastructure as Code • Git管理 • 複数環境(DEV/STG/PRD)を簡単に構築可能 Webhook基盤 Event Worker 分析基盤 LIFF CloudFormation スタック
Copyright ©2019 Grandream Inc. All Rights Reserved. - 44 -
6, まとめ
- 45 - Copyright ©2019 Grandream Inc. All Rights Reserved.
6, まとめ • 地域活性化のためのイベントボットを開発した • 集客頑張った • LINEビーコンを活⽤して商店街の売上に貢献 • AWS Cloud NativeなLINEボットプラット フォームを構築した
- 46 - Copyright ©2019 Grandream Inc. All Rights Reserved.
ご清聴 ありがとうございました LINEボット開発のご相談はHPまたはLINE公式アカウントまで︕