3. 60 second Introduction
We will cover the “How” today
Sessions
Custom Events
Attributes
Metrics
Demographics
Device Details
Retention Rates
Rules Processing
Search Indexing
Machine Learning
Customized
Messages
Real-Time State
Event-based
Notifications
Gather Data Process Deliver Features
5. Gather: Mobile Analytics
SDK
(Android, iOS, JavaScript, Unity, Xamarin)
REST API
Amazon
Mobile
Analytics
Daily/Monthly Active Users
Sessions
Sticky Factor
In-app Revenue
Lifetime Value (LTV)
Retention
…. and more
(Pre-defined metrics with a few lines of code)
Amazon
S3
Amazon
Redshift
Amazon
DynamoDB
Amazon
EMR
Amazon Machine
Learning
Amazon
API
Gateway
Amazon
Elasticsearch
Service
Amazon
RDS
6. Assume a Role with Cognito
Create an instance of your
Mobile Analytics Application
Create->Record->Submit Events
Submitting Events: Android Example
18. Native
Interrogates app lifecycle
- Background queue filled with
Session and Custom Events
- Session events batched & sent
Backgrounded time > AWSValueSessionResumeDelay
- Custom events sent anytime
- Best practice: use
onPause, onStop,
onResume
SDK Session Management
Web
Configure default session length
Force event submission anytime
Window.localStorage ensures
persistence through browser/tab
exiting
19. Enhancing JavaScript Sessions
Debate: Apples vs. Oranges?
Modern browsers offer visibilitychange() event:
https://developer.mozilla.org/en-US/docs/Web/Events/visibilitychange
extendSession()
stopSession()
20. Delivery Status
Written to CloudWatch Logs
- 2-week graph of Sent vs Delivered
- Publishers can also write to
CloudWatch w/ custom metric
Tracking Metrics
Application Events
Publish to Topics
- Lambda, HTTP/S, etc.
22. iOS
// if your app had to be launched. A particular key is set in options to
specify that a push notification was received-
application:didFinishLaunchingWithOptions:
// if you app was already running in the background
application:didReceiveRemoteNotification:
Metrics: Open on Push
Android
24. Personalization
Engagement is all about personalization
- Automatic push if they installed but never did action X
- Push to group of users (Topic) with a custom message
- “Discount today click here!”
- Push to individuals with customized messages
- "Hey John we noticed you looked at product X but didn't
purchase"
25. Tying it all together: Request tracking
Amazon API
Gateway
Amazon
SQS
Amazon
SNS
Amazon
DynamoDB
AWS
Lambda
Amazon
SQS
Lambda #1
TimeStamp CognitoID Acknowledged
DelaySeconds =
15 mins
Lambda #2
SLA:TimeStamp+30min
= expTimeStamp
remaining =
expTimeStamp – Time.Now()
IF remaining >0 {
//Resubmit to SQS w/
//visbility timeout remaining
}ELSE{
//Business escalation logic
}
Poll for new
messages
Amazon
Mobile
Analytics
28. What’s next?
A Hands-on Workshop
on AWS Infrastructure Services
Date: Sep 29, 2016
AWS 10-Minute Tutorials
“Hello, World!” technical
documents to help you get
hands-on with AWS.