November 12, 2014 | Las Vegas, NV Rich Cowper, Solution Architect
Jun 24, 2015
November 12, 2014 | Las Vegas, NV
Rich Cowper, Solution Architect
65% of mobile apps are abandoned
within 90 days.
http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded
Apple APNS
Google GCM
Amazon ADM
Cloud App
Platform Services Mobile Apps
Mobile Apps
Pu
sh
In
term
ed
iary
Cloud App
Platform Services
Mobile Apps
Cloud App
Platform Services
Amazon SNS
Mobile Push
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
Industry’s First!
New!
Android Phones and Tablets
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Desktop and Windows Phone
Devices
Cloud App
Amazon SNS
Mobile Push
Mobile Apps
Cloud App
Platform Services
Amazon SNS
Mobile Push
Mobile Apps
Cloud App
Platform Services
Amazon SNS
Mobile Push
$392.88
393M
44,963
787
1M
787M
We know these use cases well
Broadcast Direct Closed Loop
Identical messages to
many users at once
Unique messages to
individual users
Targeted and optimized
with analytics
Direct and Broadcast is very straightforward
Publish
Publish
Publish
Publish
Direct Push Broadcast with SNS Topics
Direct and Broadcast is very straightforward
Direct Push Broadcast with SNS Topics
High-profile Startups
trust SNS for their
high-profile launches
Launched its Android
App with SNS,
no provisioning required
Advanced targeted Notifications bring
players back into the game
Mature games increase retention using
SNS Topics
Jetpack Joyride Fruit ninja
Secret.ly
Many topics with many devices for many reasons
Geography Activity Product
US – West Coast Daily Actives Flapping Bird Rio
Interest Tier Segment
49ers Premium Top 100 Players
Amazon
Kinesis
Amazon Redshift
Marketing
Kinesis-enabled
app
App Back-EndAmazon SNS
Mobile Push
Campaign
Topic
Combining these tools, push evolves
Broadcast Direct Closed Loop
Identical messages to
many players at once
Unique messages to
individual players
Targeted and optimized
with analyticsUser Experience
The Notification becomes the UI
“time_to_live”: 3600
Cloud App
Platform Services Mobile Apps
Cloud App
App Stores Mobile Apps
Mobile App with
Baidu agent
Cloud App
Amazon SNS
Mobile Push
Baidu
Cloud Push
Step 1: Obtain Application Prerequisites
• APNs:
• Apple Push Notification service SSL certificate
• Application Private Key
• GCM:
• API Key (Sender Auth Token)
• ADM:
• Client ID
• Client secret
Step 2: Register Your Mobile App with AWS
Amazon SNS
Mobile Push
Step 3: Get Device Token from device
• APNs:
• Device Token
• GCM:
• Registration ID
• ADM:
• Registration ID
Cloud
App
<e960d9b1…de43f6c0>
Step 4: Add Token to Amazon SNS
• For existing devices
• Use the console for .csv import
• Or use CreatePlatformEndpoint API
• For future devices
• Use a proxy server and the CreatePlatformEndpoint API
• Or use Amazon Cognito and let devices register themselves
• Receive an ARN back
Amazon SNS
Mobile Push
Cloud
App
<e960d9b1…de43f6c0>
arn:aws:sns:eu-west-1:12…1f
Device Registration – Back-end Code example
private String getArnForDeviceEndpoint(
String platformApplicationArn,
String deviceToken) {
CreatePlatformEndpointRequest request =
new CreatePlatformEndpointRequest()
.withPlatformApplicationArn(platformApplicationArn)
.withToken(deviceToken);
CreatePlatformEndpointResult result =
snsClient.createPlatformEndpoint(request);
return result.getEndpointArn();
Device Self-Registration – iOS Example
<YOUR SNS APP ARN>
MyUserID;iPhone5Amazon Cognito
Credentials
Step 5a: Send Push Notifications via the Console
Hello world!
Step 5b: Send Push Notifications via the API
MyMac:~ glez$ python
Python 2.7.2 (default, Oct 11 2012, 20:14:37)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto
>>> import boto.sns
>>> boto.sns.connect_to_region("eu-west-1").publish(
... message="Hello world!",
... target_arn="arn:aws:sns:eu-west-1:979463966312:endpoint/APNS_SANDBOX/Push2reInvent/fc1234a1-67ef-4f62-b31a-ac320bf7631f")
{u'PublishResponse': {u'PublishResult': {u'MessageId': u'1893fa9d-7478-5137-be1d-b06928d999d0'}, u'ResponseMetadata': {u'RequestId': u'c3c26267-92af-50b3-b529-2893ce0e4854'}}}
>>>
Step 6: Receive and Close the Loop
We redesigned the
inbox to make email
light, fast, and mobile-
friendly.
Mobile push notifications
are a core part of the
Mailbox user experience
Fast, reliable messages at
the right time on all your
devices
Silent push notifications to
refresh your inbox in the
background
Amazon SNS
Mobile Push
3rd Party Mobile
Push Provider
At Launch Late 2013: Self Managed January 2014
• Unpredictable
• Black box
• Pricey
• Scalable, cheaper, more
predictable
• Ongoing devops and
development cost
• Capacity planning
• No provisioning
• Reliable and
performant
• $1 per million
Amazon SNS
Mobile Push
Hundreds of millions of mobile push
deliveries per week
Launched our Android app on SNS,
with no clear idea of how much
capacity to provision (not a problem
with SNS)
Instant support for new features like
iOS 8 interactive push notifications.
http://bit.ly/awsevals