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
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
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
410
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
100
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
240
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
220
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
940
20260619 私の日常業務での生成 AI 活用
masaruogura
1
230
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
190
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
220
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
5
1.2k
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
2
640
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
エンジニアに許された特別な時間の終わり
watany
107
250k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Cost Of JavaScript in 2023
addyosmani
55
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
A Soul's Torment
seathinner
6
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to make the Groovebox
asonas
2
2.2k
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