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
iOSDC-day3-がっつりやるリアルタイムキャンペーン分析
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ktsukago
September 02, 2018
Technology
2.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOSDC-day3-がっつりやるリアルタイムキャンペーン分析
iOSDCの講演した資料です
ktsukago
September 02, 2018
More Decks by ktsukago
See All by ktsukago
AppSync というか GraphQL 設計 Tips 5選
ktsukago
1
1.1k
AppSyncを使いこなすためのDynamoDB設計パターン
ktsukago
10
3.4k
awsでGraphQLを簡単に使ってみる
ktsukago
2
490
マネージド GraphQL サービス AppSync 入門
ktsukago
4
660
Other Decks in Technology
See All in Technology
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
400
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
amanda_hinchman
1
100
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
280
GoでCコンパイラを作った話
repunit
0
150
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
380
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
130
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
470
「休む」重要さ
smt7174
5
1.5k
Making sense of Google’s agentic dev tools
glaforge
1
300
人とエージェントが高め合う協業設計
kintotechdev
0
700
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
110
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
170
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Design in an AI World
tapps
1
260
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
410
Google's AI Overviews - The New Search
badams
0
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Transcript
Solution Architect Tsukagoshi Keisuke 2018/9/2
Who am I ? ba c @ B A Mobile
/ DevOps / Serverless / Microservices O W S = J S
Proposal .MJDR8 )' +0 52$9>FHOX= WCXE8 #-41>FHOX/85! 4.-41U:VH<P / 8(&
,-52# Amazon Pinpoint8#6,Event Stream8"* .U:VH<P82#GJDSW+0U:VH<P -8&3/:X?K@IQ,%78(&OXBK;W A8&3/NFLMT@K;F8"2#
Amazon Pinpoint
# • iOS12 2.+4 %.2081 • 58*8'7)8,371$ 26(/&- •
Amazon Pinpoint # • Amazon Pinpoint • AWS $!" Advanced $
iOS($!) • ($!) (%-,.% 40% • ($!) .(-,.% 2% •
'.#&*"($!) 8% • DL 1(+ 21% • 90 (+ 71%
iOS12 ; FE push * • L_cZ* • [SRcPQ`SU<* @TXSK@L_cZ
• @( • H^cTG6:9- ?*&GMbTac _;4E • 9>0;+ • NIbUCWVc$G JY?79;@* • Siri@* • Siri3/]cO3=@* ?79@2 "7/ *@&G)5 • , >* • .2D@'! >=@,%> G/1 C8A\cU;B #? https://www.apple.com/jp/ios/ios-12-preview/features/
iOS12 push Siri https://www.apple.com/jp/newsroom/2018/06/ios-12-introduces-new-features-to-reduce-interruptions-and- manage-screen-time/
https://www.apple.com/jp/newsroom/2018/06/ios-12-introduces-new-features-to-reduce-interruptions-and- manage-screen-time/ •
• Delivery Prominently • Delivery Quietly • Turn Off…
Provisional Authorization • • •
https://developer.apple.com/videos/play/wwdc2018/710
(+,0514-.% '% • Provisional Authorization #/-*2' "$% % • 35)5
/-*2 ' %#% 14-. '%(+,05 &!
PNIT#9QXINE • PNIT#9 • #B".A 8%09PNIT#4UXHX878B,/ 1')B8.A • NG :
CPVB -3:-' • OK : GXOK8GDWCNP-3<?(%B -3<?( • @!;89&ASNLXJB"A • UXHX*B.A:69*&A) • =23'A+5>@< 9&A+5) • =23'A+5B.A:6*$') • @!;87?7'MDRWF4PNIT#B"A
"+.)!3$02 /3#3"+.)!3$02 /3#3% ,2( &+2 '-*1
@_YTb+B[O]YOB • L_dK3.=B_YTb+ • chSh5L_dK 9I.K 80:B.)A _YTb9I>0"@VPUbhe_YTbFHDNh_gfh\ Ci;46@I •
_YTb+A K2JI • A'4K(>8@2%@`YWhUC&9I • $ B 5 <;`YWhUC8E92 • ,@Xa^e=`YWhUK*I • #0Rg[gZB!/0chShB @?4G,@ Xa^e=`YWhUK-9I7>=chShMgQhUB C15I
"%%$% 5 !' +"
*$ +" , %& #()$ %# !
Amazon Pinpoint
Amazon Pinpoint
Amazon Pinpoint 8>137#B: =B(B $*.9B
6B-4>"+;1 ,B) 0<5? (Mobile Push / SMS / E-mail) /"@%3;1,B) =B(B ,&;3 .B'2!A& 1 2 3
Pinpoint 2 2 2 2 •
N R b D • b B AWaA S EAC C B 2
Pinpoint ke T 01 D T 01
ic / n : http://docs.aws.amazon.com/ja_jp/pinpoint/latest/userguide/campaigns-message.html#campaigns-message- variables
O S a :{ u i e
A e rn m a 27 1 O s } 1 a 1
O S a :{ u i e
A e rn m a 27 1 O s } 1 a 1
• • Mobile Push • Email
• SMS • ( ) • • Standard • A/B test
O S a :{ u i e
A e rn m a 27 1 O s } 1 a 1
• • • A • O • A
• • • S • • 1 • 0
O S a :{ u i e
A e rn m a 27 1 O s } 1 a 1
• • Standard • Silent •
• {{Attribute.Name}} • OpenAction • Open App • Go to URL • Open deep link
O S a :{ u i e
A e rn m a 27 1 O s } 1 a 1
• • • •
Once/Hourly/Daily/ Weekly/Monthly • • Quiet Time
(1 ) 1. Delivery metrics 1. Open
rate 2. Delivery rate 3. Users messaged 2. Campaign session heat map 3. Campaign metrics 1. Sent 2. Delivered 3. Directly opened
(A/B ) • Delivery
rate • Open rate
SDK
SDK
2 2 1 1 :
8 2 0 1 8 " 2 2 1 9 9 2 1 E 9 2
-
! % % - 1 - 0
Pinpoint
AWS Lambda 48" • #ISMV8 • Lambda>12#ISMV> 0<-4+3,< • WebOJDT%Facebook
Messenger 65'6#+ • 6QJGYE8 • !7 Lambda *; DB >/7QJGYE>=< • DynamoDB7WCQXL8RKVKYH>=2),%Lambda *;0<-438?FFQ >Push0<65& • @SXPYXNJA • #7 Lambda >NJA0<-4+3,< • .47Lambda$3DB>/2! NUB> /%!/2:( 789!0<
• &* &* $(
• " # !')% $(
• 5 .: • 4 •
4 • • M • • 21 ,2 0 , 3
on SP t cp / g : At SP a
i A A t a / / t g 2 l l u3
Pinpoint
Amazon Pinpoint 1 -A4 F4 Wy rlnvh • g
ce / A ay rlnvPW f yu h f K / A o sM d t h f • /. vMn b - mM 1 -A4 hjy _ / A n kj v oMwh f : A D 3HD 3 3 A A 32 A 3 D A C F A4 D AD A : wm z v p y oMwh f K 1 -A4 F4 Wp y jy h S f iW f hN
)( import AWSPinpoint @UIApplicationMainclass AppDelegate:
UIResponder, UIApplicationDelegate { var pinpoint: AWSPinpoint? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { pinpoint = AWSPinpoint.init( configuration:AWSPinpointConfiguration. defaultPinpointConfigurationWithLaunchOptions(launchOptions)) return true }
)( func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken:
NSData) { pinpoint!.notificationManager. interceptDidRegisterForRemoteNotificationsWithDeviceToken(deviceToken) (snip) func application(application: UIApplication, didReceiveRemoteNotification u serInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) { pinpoint!.notificationManager.interceptDidReceiveRemoteNotification( userInfo, fetchCompletionHandler: completionHandler) (snip)
)( let pinpointAnalyticsClient = pinpointClient.analyticsClient
let event = pinpointAnalyticsClient.createEvent(withEventType: "SearchButtonClick") event.addAttribute(" ", forKey: "Keyword") // event.addMetric(NSNumber(value: 123, forKey: "SomeMetric") pinpointAnalyticsClient.record(event) pinpointAnalyticsClient.submitEvents() )( let pinpointTargetingClient = pinpointClient.targetingClient pinpointTargetingClient.addAttribute(["Pinpoint"], forKey: "FavoriteServices") pinpointTargetingClient.updateEndpointProfile()
Pinpoint
Amazon S3, Amazon Kinesis Streams •
•
3G 3 3 3 3 3G ) D 3G 3
3G B 3G E .A B D AF 3G D 3B 3A 3G , 3 3 SI QM KRPH 3G , B B 3 F B 3G , B B A 3 B 3G , B B ( A B
O M P V l
/ 3 / O • S MM V l C A n • / NbMD AJ / 3 / K lNt C • e N V i W S No A V t N N tp Pinpoint
AI https://aws.amazon.com/jp/blogs/messaging-and-targeting/creating-an-ai-powered-marketing-solution-for- sentiment-analysis-and-engagement/
Amazon Pinpoint https://aws.amazon.com/jp/blogs/machine-learning/amazon-pinpoint-campaigns-driven-by-machine-learning- on-amazon-sagemaker/
Happy coding with Pinpoint! Amazon Pinpoint
Amazon Pinpoint