Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
iOSDC-day3-がっつりやるリアルタイムキャンペーン分析
Search
ktsukago
September 02, 2018
Technology
2.4k
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.2k
AppSyncを使いこなすためのDynamoDB設計パターン
ktsukago
10
3.4k
awsでGraphQLを簡単に使ってみる
ktsukago
2
500
マネージド GraphQL サービス AppSync 入門
ktsukago
4
670
Other Decks in Technology
See All in Technology
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
130
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
120
SREでアラート疲れを 解決しよう!
kairim0
1
210
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
1
1.4k
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
形式手法を使って仕様をコーディングしよう
mikanichinose
0
180
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
490
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
310
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
520
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
1
330
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
0
250
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Balancing Empowerment & Direction
lara
6
1.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
920
The SEO identity crisis: Don't let AI make you average
varn
0
580
ラッコキーワード サービス紹介資料
rakko
1
5.2M
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
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