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

iOSDC-day3-がっつりやるリアルタイムキャンペーン分析

ktsukago
September 02, 2018

 iOSDC-day3-がっつりやるリアルタイムキャンペーン分析

iOSDCの講演した資料です

ktsukago

September 02, 2018
Tweet

More Decks by ktsukago

Other Decks in Technology

Transcript

  1. Who am I ? ba c @ B A Mobile

    / DevOps / Serverless / Microservices O W S = J S
  2. 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#
  3. # • iOS12  2.+4 %.2081 • 58*8'7)8,371$ 26(/&- •

    Amazon Pinpoint # • Amazon Pinpoint   • AWS $!" Advanced $
  4. iOS($!) • ($!) (%-,.% 40% • ($!) .(-,.% 2% •

    '.#&*"($!) 8% • DL 1(+  21% • 90 (+ 71%
  5. 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/
  6. Provisional Authorization  •   •  • 

       https://developer.apple.com/videos/play/wwdc2018/710
  7. 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
  8. @_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
  9. "%%$%  5    !' +"  

    *$ +"   ,     %&  #()$ %#  ! 
  10. 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
  11. Pinpoint     2 2 2 2 •

    N R b D • b B AWaA S EAC C B 2
  12. 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
  13.    O S a :{ u i e

    A e rn m a 27 1 O s } 1 a 1
  14.    O S a :{ u i e

    A e rn m a 27 1 O s } 1 a 1
  15.   •   • Mobile Push • Email

    • SMS • (  ) •  • Standard • A/B test
  16.    O S a :{ u i e

    A e rn m a 27 1 O s } 1 a 1
  17.   • • • A • O • A

    • • • S • • 1 • 0
  18.    O S a :{ u i e

    A e rn m a 27 1 O s } 1 a 1
  19.    •  • Standard • Silent •

      • {{Attribute.Name}} • OpenAction • Open App • Go to URL • Open deep link
  20.    O S a :{ u i e

    A e rn m a 27 1 O s } 1 a 1
  21.  •  •   •   •

    Once/Hourly/Daily/ Weekly/Monthly •    • Quiet Time
  22.    (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
  23.      2 2 1 1 :

    8 2 0 1 8 " 2 2 1 9 9 2 1 E 9 2
  24.   -       

       ! % % - 1 - 0
  25. 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<
  26.    • &*    &* $(

    • "  # !')% $(  
  27.     • 5 .: • 4 •

    4 • • M • • 21 ,2 0 , 3
  28. on SP t cp / g : At SP a

    i A A t a / / t g 2 l l u3     
  29. 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
  30.      )( 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 }
  31.     )( 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)
  32.      )( 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()
  33. 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   
  34. 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