SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
Engage Your Customers with
Amazon SNS Mobile Push
Constantin Gonzalez, Solutions Architect, Amazon, Germany
Pablo Varela, Software Engineer, Plumbee
November 15th, 2013

Š 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Friday, November 15, 13
65% of mobile apps are abandoned
within 90 days.

http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded

Friday, November 15, 13
“…understanding and improving user
engagement is the new currency of
doing business in the new digital world.”
–Peter Farago, Flurry.com

http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded

Friday, November 15, 13
Mobile push notifications engage customers when
your app is not currently active.
• Users opt-in to receive them
• Delivered to a specific app
on a specific device
• Short messages: read, ignore, or
acknowledge to launch the app

Friday, November 15, 13
In this session, we’ll cover:
• How push notifications work.
• A simple, scalable, robust & cross-platform way to
deliver push notifications that you can start using now.
• A real-world example for sending massive amounts
of targeted push notifications to mobile users.

Friday, November 15, 13
Push Notifications Under the Covers

Friday, November 15, 13
Your cloud application directs mobile push
notifications to a specific app on a specific device

Cloud App

Friday, November 15, 13

Mobile Apps
Notifications are delivered via platform-specific
push services, which keep connections with their
devices.

Platform
Service
Cloud App

Friday, November 15, 13

Mobile Apps
Developers manage tokens for each device, and
must proactively swap or disable them based on
feedback.
Token
Feedback

Platform
Service

Token Registration

Friday, November 15, 13
Challenges

Friday, November 15, 13
Each platform-specific push service works
differently.

Apple APNs

Google GCM

Amazon ADM
Friday, November 15, 13

• Different APIs
• Different Features
• Different Feedback
Token Housekeeping Can be Complex
Token
Feedback

Platform
Service

Token Registration

Friday, November 15, 13

• Regularly connect to the
platform service
• Handle feedback for failed/
stale notifications
• Blacklist tokens
• Establish good reputation
with platform services
• etc.
Push notifications get even more complex as you
scale to support millions of devices.

Cloud App

Platform Services
Friday, November 15, 13

Mobile Apps
Amazon SNS Mobile Push

Friday, November 15, 13
Amazon SNS Mobile Push is a managed, scalable,
cross-platform push intermediary service.
Apple Devices

Google Devices
Amazon SNS
Mobile Push

Friday, November 15, 13

Kindle Devices
You can send a distinct payload for each platform,
or publish one common message for all platforms.
Publish

Apple

Google
Kindle
Fire

Friday, November 15, 13

Publish

Kindle
Fire

Apple

Google
Kindle
Fire

Kindle
Fire
You can publish unique messages to individual devices, or broadcast
identical messages to many devices at once.
Direct Publishing

Broadcast with SNS Topics

Publish
Publish
Publish

Friday, November 15, 13

Publish
Amazon SNS consumes feedback from each platform and manages
swapping and disabling tokens on your behalf.

Token
Feedback

Cloud
App

Friday, November 15, 13

Amazon SNS
Mobile Push

Token
Registration

• Write to one stable
endpoint per device
• You can access the
feedback, but you
don’t have to do so
in order to use
Amazon SNS
Getting Started

Friday, November 15, 13
Step 1: Write your mobile app
• Use the mobile app platform’s
push notification libraries as you
normally would.

Friday, November 15, 13
Step 2: Obtain Application Prerequisites
• APNs:
• Apple Push Notification service SSL certificate
• Application Private Key

• GCM:
• API Key (Sender Auth Token)

• ADM:
• Client ID
• Client secret

Friday, November 15, 13
Step 3: Register Your Mobile App with AWS

Amazon SNS
Mobile Push

Friday, November 15, 13
Step 4: Obtain a Token/Registration ID from the device

• APNs:
• Device Token

• GCM:
• Registration ID

• ADM:
Cloud
App

• Registration ID

<e960d9b1…de43f6c0>

Friday, November 15, 13
• For existing devices
• Use the console for .csv import
<e960d9b1…de43f6c0>

arn:aws:sns:eu-west-1:12…1f

Step 5: Add Token/Registration ID to Amazon SNS

Cloud
App

Amazon SNS
Mobile Push

• Or use CreatePlatformEndpoint API

• For future devices
• Use a proxy server and the
CreatePlatformEndpoint API
• Or use the AWS token vending service and let
devices register themselves

• Receive an ARN back
Friday, November 15, 13
Step 6a: Send Push Notifications via the Console

Hello world!

Friday, November 15, 13
Step 6b: 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-5137be1d-b06928d999d0'}, u'ResponseMetadata': {u'RequestId':
u'c3c26267-92af-50b3-b529-2893ce0e4854'}}}
>>>

Friday, November 15, 13
Step 7: Receive

Friday, November 15, 13
User/Device management
• Use CreatePlatformEndpoint to register new
tokens/IDs along with user data

• Use ListEndpointByPlatformApplication
to discover registered endpoints
• Manage ARNs and associated data in Amazon
DynamoDB
• Publish to individual ARNs, or
• Use Amazon SNS topics for 1:many messaging
• Coordinate publishing with Amazon SQS or
Amazon SWF

Friday, November 15, 13
Demo

Friday, November 15, 13
Quick Review

Amazon SNS
Mobile Push

Friday, November 15, 13

• Cross-platform push to Apple,
Google and Amazon
• Seamless scalability with durable,
reliable deliveries
• Easy token management
• 1m free per month, and $1.00 per
million thereafter
Pablo Varela, Software Engineer, Plumbee

Friday, November 15, 13
Mirrorball Slots - Mobile

Friday, November 15, 13
Mirrorball Slots - Mobile

Friday, November 15, 13
Mirrorball Slots - Challenges

Friday, November 15, 13
Our customers ask for notifications!
“Some of us have very busy lives and can’t be
checking the game 24/7. It would be great to
get a notification when a challenge starts.
Thanks!”

Friday, November 15, 13
Use cases
Retention / reactivation
• Day 2, day 7 retention
• active players (active in 7 days)
• D7,D10,D14,D21,D28 reactivation
• Challenge start/ends/redemption
• New features/games

Friday, November 15, 13

Targeted promotions
• Spenders categorisation
• Last spent
• New user promos
• Time-limited promo start/end
Design Goals

• Easy to add new campaigns
• Fine grained targeting
• Scales linearly

Friday, November 15, 13
Building blocks

Data
Collection

Friday, November 15, 13

Targeting

Mobile Push
Data Collection

Friday, November 15, 13
Data Collection
• Collect everything
• There is not such a thing as too much data!
• Targeting as effective as your data
• Fine granularity depends on data analysis

Friday, November 15, 13
Data Collection
log
actions

log
log

Application Servers

Friday, November 15, 13

Analytics
Amazon SQS
Device Registration – 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();

Friday, November 15, 13
Device Registration – Logging
private String registerEndpointForApplicationAndPlatform(
final long plumbeeUid, String platformARN,
String platformToken) {
final String deviceEndpointARN =
getArnForDeviceEndpoint(platformARN, platformToken);
sqsLogger.queueMessage(new HashMap<String, Object>() {{
put("notification", "register");
put("plumbeeUid", plumbeeUid);
put("provider", platformName);
put("endpoint", deviceEndpointARN);
}}, null);
}

return deviceEndpointARN;

Friday, November 15, 13
Device Registration – Event example
{

"sId": "2fa5e687-c692-4c60-8bf9-19d3b3bef30f",
"rId": "40f3aa74-1653-422f-a484-b98dbb32bda2",
"timeStamp": 1381853084268,
"testVariant": "",
"m-mbs-app-service-version": "m-mbs-app-1381818956",
"metadata": {
"plumbeeUid": XXXXXXX,
"notification": "register",
"provider": "apns",
"endpoint": "arn:aws:sns:us-east-1:300361537691:endpoint/APNS/
MIRRORBALL_SLOTS_CI/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}

Friday, November 15, 13
Data Collection (II)
consume

Analytics
Amazon SQS

Friday, November 15, 13

archive

Apache Flume

Amazon S3
Event Logs
Data Collection (III)

Cluster

consume

KPIs
update

Amazon SNS

Amazon Redshift
Event Logs
Friday, November 15, 13

Amazon EMR

Amazon S3
User Targeting

Friday, November 15, 13
User targeting
• SQL queries against Amazon Redshift
• That’s it!

Friday, November 15, 13
User targeting – Query example
-- Target all mobile users
SELECT plumbee_uid, arn
FROM mobile_user

Friday, November 15, 13
User targeting – Query example (II)
-- Target lapsed users (1 week lapse)
SELECT plumbee_uid, arn
FROM
mobile_user
WHERE last_play_time < (now - 7 days)

Friday, November 15, 13
User targeting – Query example (III)
-- All the users that spend between 6h and 9h UTC on
-- Mondays and didn't spend in the last 7 days
SELECT plumbee_uid, arn
FROM user_spending_activity
WHERE time_slice = 3
AND plumbee_uid IN (
SELECT plumbee_uid
FROM user_metrics
WHERE last_purchase_time < (now - 7d)

Friday, November 15, 13
Mobile Push

Friday, November 15, 13
Mobile Push – Code example
SNS publish
private void publishMessage(UserData userData, String jsonPayload) {
amazonSNS.publish(new PublishRequest()
.withTargetArn(userData.getEndpoint())
.withMessageStructure("json")
.withMessage(jsonPayload));
}

JSON payload
{
"default": "“The 5 day Halloween Challenge has started
today! Touch to play now!”",
"APNS": "{"aps" : {"alert":"Halloween Challenged
has started!"","sound":"default" },"id":"XXXX
","tag":"challenge-start" }"
}
Friday, November 15, 13
Mobile Push
• Amazon SWF for orchestration
• Amazon Redshift for targeting
• Amazon SNS for the actual push

Friday, November 15, 13
Mobile Push - Scheduling
query

Scheduling

Friday, November 15, 13

query

Publish Service

Amazon
SWF
Mobile Push - Targeting
query

query

Amazon EC2
Worker
Amazon SWF
(Segmentation)
Friday, November 15, 13

target
users

Amazon
Redshift

Amazon
S3
Mobile Push - Processing
batch 1 - N

batch N - M

partition
publish
partition

push

push

publish

Amazon EC2 Amazon SWF Children workflows
Read data + push
Decider
(Batch Processing)

Friday, November 15, 13

End User
Mobile Push - Reporting example
The following message has been sent to NNNNNN devices in m min, ss sec:
““The 5 day Halloween Challenge has started today! Touch to play now!””
Targeting query:
SELECT m_arn.plumbeeui, DISTINCT(m_arn.endpoint) FROM mobile.lu_user
m_user, mobile.lu_notifications_arn m_arn WHERE m_user.plumbeeuid =
m_arn.plumbeeuid AND country_code IN (:america) GROUP BY m_arn.endpoint
Workflow Execution Stats
*
*
*
*

number
number
number
number

of
of
of
of

devices targeted: NNNNNN
notifications sent: NNNNNN
notifications that failed (excluding disabled devices): 0
disabled devices: NNNN

Click here for workflow execution details.

Friday, November 15, 13
Day 2 retention - No Push vs Push
Without Push

40

With Push

30
20
10
0
Day 1

Friday, November 15, 13

Final Day

Redemption Day
Summary
• Collect and analyze data: Amazon SQS,
Amazon S3, Amazon EMR, Apache
Flume, Amazon Redshift
• Targeting: SQL queries
• Mobile Push with Amazon SNS
• Orchestration with Amazon SWF

Friday, November 15, 13
More Information
• Open Source projects
• https://github.com/plumbee

• Plumbee Engineering Blog
• http://bit.ly/1hqWBD4

• Email
• pablo.varela@plumbee.co.uk

Friday, November 15, 13
Extensive SDK and IDE support enables you to build applications
tailored to your language or platform.
SDKs for your preferred platform and language…

Android

iOS

Java

nodeJS

.NET

…integrated into your preferred IDE

Eclipse

Friday, November 15, 13

Visual Studio

CLI

Powershell

PHP

Python

Ruby
More Information
• Amazon SNS Detail Page
and Docs
• http://amzn.to/179ee7r

Amazon SNS
Mobile Push

• Getting Started + Sample Apps
• http://amzn.to/15rs1DV

• Email
• aws-sns-mobile-push@amazon.com

Friday, November 15, 13
We hope your mobile app never
gets abandoned!

Friday, November 15, 13
Please give us your feedback on this
presentation

MBL308
As a thank you, we will select prize
winners daily for completed surveys!

Friday, November 15, 13

Thank You
Developers use intermediaries to abstract platform-specific APIs and
manage tokens for millions of apps.

Push Intermediary
Friday, November 15, 13
Developers use intermediaries to abstract platform-specific APIs and
manage tokens for millions of apps.

Abstraction so your app
can engage users on
any platform
Manage tokens to
ensure messages are
delivered reliably

Friday, November 15, 13

Operational complexity
Scalability takes work
Cost – even though the
platform services
themselves are free
SNS offers easy scalability, so you can just start sending more
messages as your app achieves scale.

• Go from a few messages to hundreds of millions
• Go from a few devices to hundreds of millions
...without provisioning, configuring or managing
...without sacrificing reliable, durable delivery

Friday, November 15, 13
You can get started for free.
• 1 Million Free per Month
• 1 million publishes + 1 million mobile push notifications

• $1.00 per Million Thereafter
• $0.50 per million publishes + $0.50 per million mobile push deliveries
• When you broadcast with SNS Topics, your effective price can be lower

Friday, November 15, 13

Weitere ähnliche Inhalte

Was ist angesagt?

AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 Amazon Web Services Korea
 
Postman 101 & Office Hours
Postman 101 & Office HoursPostman 101 & Office Hours
Postman 101 & Office HoursPostman
 
KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API GatewayAlbert Lombarte
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New FeaturesAli BAKAN
 
Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdfdevtestervicky
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]BrowserStack
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱PgDay.Seoul
 
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...Amazon Web Services Korea
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with CucumberKnoldus Inc.
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Webinar: Postman 101 for Developers
Webinar: Postman 101 for DevelopersWebinar: Postman 101 for Developers
Webinar: Postman 101 for DevelopersPostman
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersSATOSHI TAGOMORI
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDDKnoldus Inc.
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon Web Services Korea
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Web Services Korea
 
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈Amazon Web Services Korea
 
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...confluent
 
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar Series
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar SeriesBest Practices for Running MongoDB on AWS - AWS May 2016 Webinar Series
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar SeriesAmazon Web Services
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 

Was ist angesagt? (20)

AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
Postman 101 & Office Hours
Postman 101 & Office HoursPostman 101 & Office Hours
Postman 101 & Office Hours
 
KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API Gateway
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
 
Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdf
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
 
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
Webinar: Postman 101 for Developers
Webinar: Postman 101 for DevelopersWebinar: Postman 101 for Developers
Webinar: Postman 101 for Developers
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDD
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
 
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
 
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar Series
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar SeriesBest Practices for Running MongoDB on AWS - AWS May 2016 Webinar Series
Best Practices for Running MongoDB on AWS - AWS May 2016 Webinar Series
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 

Andere mochten auch

Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Amazon Web Services
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAmazon Web Services
 
AWS Summit Tel Aviv - Enterprise Track - Data Warehouse
AWS Summit Tel Aviv - Enterprise Track - Data WarehouseAWS Summit Tel Aviv - Enterprise Track - Data Warehouse
AWS Summit Tel Aviv - Enterprise Track - Data WarehouseAmazon Web Services
 
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013Amazon Web Services
 
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWSAWS Webcast - Implementing Windows and SQL Server with High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWSAmazon Web Services
 
Mobile App Performance: Getting the Most from APIs (MBL203) | AWS re:Invent ...
Mobile App Performance:  Getting the Most from APIs (MBL203) | AWS re:Invent ...Mobile App Performance:  Getting the Most from APIs (MBL203) | AWS re:Invent ...
Mobile App Performance: Getting the Most from APIs (MBL203) | AWS re:Invent ...Amazon Web Services
 
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013Amazon Web Services
 
AWS Cloud for HPC and Big Data
AWS Cloud for HPC and Big DataAWS Cloud for HPC and Big Data
AWS Cloud for HPC and Big Datainside-BigData.com
 
AWS essentials S3
AWS essentials S3AWS essentials S3
AWS essentials S3mustafa sarac
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBAmazon Web Services
 
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Amazon Web Services
 
AWS essentials EC2
AWS essentials EC2AWS essentials EC2
AWS essentials EC2mustafa sarac
 
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...Amazon Web Services
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Amazon Web Services
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Amazon Web Services
 
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...Amazon Web Services
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notationmustafa sarac
 
AWS SQS for better architecture
AWS SQS for better architectureAWS SQS for better architecture
AWS SQS for better architectureSaurabh Bangad
 
AWS Services overview and global infrastructure
AWS Services overview and global infrastructureAWS Services overview and global infrastructure
AWS Services overview and global infrastructureSchibsted Tech Polska
 
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나 AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나 Amazon Web Services Korea
 

Andere mochten auch (20)

Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
 
AWS Summit Tel Aviv - Enterprise Track - Data Warehouse
AWS Summit Tel Aviv - Enterprise Track - Data WarehouseAWS Summit Tel Aviv - Enterprise Track - Data Warehouse
AWS Summit Tel Aviv - Enterprise Track - Data Warehouse
 
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013
Cloud Adoption in the Enterprise: Industry Perspective IP Expo 2013
 
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWSAWS Webcast - Implementing Windows and SQL Server with High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server with High Availability on AWS
 
Mobile App Performance: Getting the Most from APIs (MBL203) | AWS re:Invent ...
Mobile App Performance:  Getting the Most from APIs (MBL203) | AWS re:Invent ...Mobile App Performance:  Getting the Most from APIs (MBL203) | AWS re:Invent ...
Mobile App Performance: Getting the Most from APIs (MBL203) | AWS re:Invent ...
 
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013
The Science of Choosing EC2 Reserved Instances (ENT221) | AWS re:Invent 2013
 
AWS Cloud for HPC and Big Data
AWS Cloud for HPC and Big DataAWS Cloud for HPC and Big Data
AWS Cloud for HPC and Big Data
 
AWS essentials S3
AWS essentials S3AWS essentials S3
AWS essentials S3
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
 
AWS essentials EC2
AWS essentials EC2AWS essentials EC2
AWS essentials EC2
 
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...
Adding Location and Geospatial Analytics to Big Data Analytics (BDT210) | AWS...
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
 
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
AWS SQS for better architecture
AWS SQS for better architectureAWS SQS for better architecture
AWS SQS for better architecture
 
AWS Services overview and global infrastructure
AWS Services overview and global infrastructureAWS Services overview and global infrastructure
AWS Services overview and global infrastructure
 
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나 AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나
AWS 기반 소프트웨어 서비스(SaaS) -김용우 솔루션즈 아키텍트 :: AWS 파트너 테크시프트 세미나
 

Ähnlich wie Engage Your Customers with Amazon SNS Mobile Push (MBL308) | AWS re:Invent 2013

(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...Amazon Web Services
 
Android 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsAndroid 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsKai Koenig
 
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...Amazon Web Services
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Yan Cui
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Cyrille Le Clerc
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkSam Basu
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...GoIT
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...SoftServe
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & AzureSam Basu
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperSam Basu
 
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile Services
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile ServicesIasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile Services
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile ServicesCodecamp Romania
 
Architecture of the Mozilla Apps Ecosystem
Architecture of the Mozilla Apps EcosystemArchitecture of the Mozilla Apps Ecosystem
Architecture of the Mozilla Apps EcosystemBill Walker
 
Mobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsMobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsAdam Grocholski
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel MangosSam Basu
 
Azure Notification hub
Azure Notification hubAzure Notification hub
Azure Notification hubLuca Di Fino
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platformrajdeep
 
Push Notification in IBM MobileFirst Xamarin SDK
Push Notification in IBM MobileFirst Xamarin SDKPush Notification in IBM MobileFirst Xamarin SDK
Push Notification in IBM MobileFirst Xamarin SDKAjay Chebbi
 
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013Amazon Web Services
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Azure WP7 fire starter
Azure WP7 fire starterAzure WP7 fire starter
Azure WP7 fire starterSam Basu
 

Ähnlich wie Engage Your Customers with Amazon SNS Mobile Push (MBL308) | AWS re:Invent 2013 (20)

(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
 
Android 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsAndroid 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture Components
 
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & Azure
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone Developer
 
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile Services
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile ServicesIasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile Services
Iasi CodeCamp 20 april 2013 Florin Cardasim Windows Azure Mobile Services
 
Architecture of the Mozilla Apps Ecosystem
Architecture of the Mozilla Apps EcosystemArchitecture of the Mozilla Apps Ecosystem
Architecture of the Mozilla Apps Ecosystem
 
Mobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsMobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification Hubs
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel Mangos
 
Azure Notification hub
Azure Notification hubAzure Notification hub
Azure Notification hub
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platform
 
Push Notification in IBM MobileFirst Xamarin SDK
Push Notification in IBM MobileFirst Xamarin SDKPush Notification in IBM MobileFirst Xamarin SDK
Push Notification in IBM MobileFirst Xamarin SDK
 
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013
Navigating PCI Compliance in the Cloud (SEC206) | AWS re:Invent 2013
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Azure WP7 fire starter
Azure WP7 fire starterAzure WP7 fire starter
Azure WP7 fire starter
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

KĂźrzlich hochgeladen

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Christopher Logan Kennedy
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

KĂźrzlich hochgeladen (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Engage Your Customers with Amazon SNS Mobile Push (MBL308) | AWS re:Invent 2013

  • 1. Engage Your Customers with Amazon SNS Mobile Push Constantin Gonzalez, Solutions Architect, Amazon, Germany Pablo Varela, Software Engineer, Plumbee November 15th, 2013 Š 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Friday, November 15, 13
  • 2. 65% of mobile apps are abandoned within 90 days. http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded Friday, November 15, 13
  • 3. “…understanding and improving user engagement is the new currency of doing business in the new digital world.” –Peter Farago, Flurry.com http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded Friday, November 15, 13
  • 4. Mobile push notifications engage customers when your app is not currently active. • Users opt-in to receive them • Delivered to a specific app on a specific device • Short messages: read, ignore, or acknowledge to launch the app Friday, November 15, 13
  • 5. In this session, we’ll cover: • How push notifications work. • A simple, scalable, robust & cross-platform way to deliver push notifications that you can start using now. • A real-world example for sending massive amounts of targeted push notifications to mobile users. Friday, November 15, 13
  • 6. Push Notifications Under the Covers Friday, November 15, 13
  • 7. Your cloud application directs mobile push notifications to a specific app on a specific device Cloud App Friday, November 15, 13 Mobile Apps
  • 8. Notifications are delivered via platform-specific push services, which keep connections with their devices. Platform Service Cloud App Friday, November 15, 13 Mobile Apps
  • 9. Developers manage tokens for each device, and must proactively swap or disable them based on feedback. Token Feedback Platform Service Token Registration Friday, November 15, 13
  • 11. Each platform-specific push service works differently. Apple APNs Google GCM Amazon ADM Friday, November 15, 13 • Different APIs • Different Features • Different Feedback
  • 12. Token Housekeeping Can be Complex Token Feedback Platform Service Token Registration Friday, November 15, 13 • Regularly connect to the platform service • Handle feedback for failed/ stale notifications • Blacklist tokens • Establish good reputation with platform services • etc.
  • 13. Push notifications get even more complex as you scale to support millions of devices. Cloud App Platform Services Friday, November 15, 13 Mobile Apps
  • 14. Amazon SNS Mobile Push Friday, November 15, 13
  • 15. Amazon SNS Mobile Push is a managed, scalable, cross-platform push intermediary service. Apple Devices Google Devices Amazon SNS Mobile Push Friday, November 15, 13 Kindle Devices
  • 16. You can send a distinct payload for each platform, or publish one common message for all platforms. Publish Apple Google Kindle Fire Friday, November 15, 13 Publish Kindle Fire Apple Google Kindle Fire Kindle Fire
  • 17. You can publish unique messages to individual devices, or broadcast identical messages to many devices at once. Direct Publishing Broadcast with SNS Topics Publish Publish Publish Friday, November 15, 13 Publish
  • 18. Amazon SNS consumes feedback from each platform and manages swapping and disabling tokens on your behalf. Token Feedback Cloud App Friday, November 15, 13 Amazon SNS Mobile Push Token Registration • Write to one stable endpoint per device • You can access the feedback, but you don’t have to do so in order to use Amazon SNS
  • 20. Step 1: Write your mobile app • Use the mobile app platform’s push notification libraries as you normally would. Friday, November 15, 13
  • 21. Step 2: Obtain Application Prerequisites • APNs: • Apple Push Notification service SSL certificate • Application Private Key • GCM: • API Key (Sender Auth Token) • ADM: • Client ID • Client secret Friday, November 15, 13
  • 22. Step 3: Register Your Mobile App with AWS Amazon SNS Mobile Push Friday, November 15, 13
  • 23. Step 4: Obtain a Token/Registration ID from the device • APNs: • Device Token • GCM: • Registration ID • ADM: Cloud App • Registration ID <e960d9b1…de43f6c0> Friday, November 15, 13
  • 24. • For existing devices • Use the console for .csv import <e960d9b1…de43f6c0> arn:aws:sns:eu-west-1:12…1f Step 5: Add Token/Registration ID to Amazon SNS Cloud App Amazon SNS Mobile Push • Or use CreatePlatformEndpoint API • For future devices • Use a proxy server and the CreatePlatformEndpoint API • Or use the AWS token vending service and let devices register themselves • Receive an ARN back Friday, November 15, 13
  • 25. Step 6a: Send Push Notifications via the Console Hello world! Friday, November 15, 13
  • 26. Step 6b: 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-5137be1d-b06928d999d0'}, u'ResponseMetadata': {u'RequestId': u'c3c26267-92af-50b3-b529-2893ce0e4854'}}} >>> Friday, November 15, 13
  • 27. Step 7: Receive Friday, November 15, 13
  • 28. User/Device management • Use CreatePlatformEndpoint to register new tokens/IDs along with user data • Use ListEndpointByPlatformApplication to discover registered endpoints • Manage ARNs and associated data in Amazon DynamoDB • Publish to individual ARNs, or • Use Amazon SNS topics for 1:many messaging • Coordinate publishing with Amazon SQS or Amazon SWF Friday, November 15, 13
  • 30. Quick Review Amazon SNS Mobile Push Friday, November 15, 13 • Cross-platform push to Apple, Google and Amazon • Seamless scalability with durable, reliable deliveries • Easy token management • 1m free per month, and $1.00 per million thereafter
  • 31. Pablo Varela, Software Engineer, Plumbee Friday, November 15, 13
  • 32. Mirrorball Slots - Mobile Friday, November 15, 13
  • 33. Mirrorball Slots - Mobile Friday, November 15, 13
  • 34. Mirrorball Slots - Challenges Friday, November 15, 13
  • 35. Our customers ask for notifications! “Some of us have very busy lives and can’t be checking the game 24/7. It would be great to get a notification when a challenge starts. Thanks!” Friday, November 15, 13
  • 36. Use cases Retention / reactivation • Day 2, day 7 retention • active players (active in 7 days) • D7,D10,D14,D21,D28 reactivation • Challenge start/ends/redemption • New features/games Friday, November 15, 13 Targeted promotions • Spenders categorisation • Last spent • New user promos • Time-limited promo start/end
  • 37. Design Goals • Easy to add new campaigns • Fine grained targeting • Scales linearly Friday, November 15, 13
  • 38. Building blocks Data Collection Friday, November 15, 13 Targeting Mobile Push
  • 40. Data Collection • Collect everything • There is not such a thing as too much data! • Targeting as effective as your data • Fine granularity depends on data analysis Friday, November 15, 13
  • 42. Device Registration – 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(); Friday, November 15, 13
  • 43. Device Registration – Logging private String registerEndpointForApplicationAndPlatform( final long plumbeeUid, String platformARN, String platformToken) { final String deviceEndpointARN = getArnForDeviceEndpoint(platformARN, platformToken); sqsLogger.queueMessage(new HashMap<String, Object>() {{ put("notification", "register"); put("plumbeeUid", plumbeeUid); put("provider", platformName); put("endpoint", deviceEndpointARN); }}, null); } return deviceEndpointARN; Friday, November 15, 13
  • 44. Device Registration – Event example { "sId": "2fa5e687-c692-4c60-8bf9-19d3b3bef30f", "rId": "40f3aa74-1653-422f-a484-b98dbb32bda2", "timeStamp": 1381853084268, "testVariant": "", "m-mbs-app-service-version": "m-mbs-app-1381818956", "metadata": { "plumbeeUid": XXXXXXX, "notification": "register", "provider": "apns", "endpoint": "arn:aws:sns:us-east-1:300361537691:endpoint/APNS/ MIRRORBALL_SLOTS_CI/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } } Friday, November 15, 13
  • 45. Data Collection (II) consume Analytics Amazon SQS Friday, November 15, 13 archive Apache Flume Amazon S3 Event Logs
  • 46. Data Collection (III) Cluster consume KPIs update Amazon SNS Amazon Redshift Event Logs Friday, November 15, 13 Amazon EMR Amazon S3
  • 48. User targeting • SQL queries against Amazon Redshift • That’s it! Friday, November 15, 13
  • 49. User targeting – Query example -- Target all mobile users SELECT plumbee_uid, arn FROM mobile_user Friday, November 15, 13
  • 50. User targeting – Query example (II) -- Target lapsed users (1 week lapse) SELECT plumbee_uid, arn FROM mobile_user WHERE last_play_time < (now - 7 days) Friday, November 15, 13
  • 51. User targeting – Query example (III) -- All the users that spend between 6h and 9h UTC on -- Mondays and didn't spend in the last 7 days SELECT plumbee_uid, arn FROM user_spending_activity WHERE time_slice = 3 AND plumbee_uid IN ( SELECT plumbee_uid FROM user_metrics WHERE last_purchase_time < (now - 7d) Friday, November 15, 13
  • 53. Mobile Push – Code example SNS publish private void publishMessage(UserData userData, String jsonPayload) { amazonSNS.publish(new PublishRequest() .withTargetArn(userData.getEndpoint()) .withMessageStructure("json") .withMessage(jsonPayload)); } JSON payload { "default": "“The 5 day Halloween Challenge has started today! Touch to play now!”", "APNS": "{"aps" : {"alert":"Halloween Challenged has started!"","sound":"default" },"id":"XXXX ","tag":"challenge-start" }" } Friday, November 15, 13
  • 54. Mobile Push • Amazon SWF for orchestration • Amazon Redshift for targeting • Amazon SNS for the actual push Friday, November 15, 13
  • 55. Mobile Push - Scheduling query Scheduling Friday, November 15, 13 query Publish Service Amazon SWF
  • 56. Mobile Push - Targeting query query Amazon EC2 Worker Amazon SWF (Segmentation) Friday, November 15, 13 target users Amazon Redshift Amazon S3
  • 57. Mobile Push - Processing batch 1 - N batch N - M partition publish partition push push publish Amazon EC2 Amazon SWF Children workflows Read data + push Decider (Batch Processing) Friday, November 15, 13 End User
  • 58. Mobile Push - Reporting example The following message has been sent to NNNNNN devices in m min, ss sec: ““The 5 day Halloween Challenge has started today! Touch to play now!”” Targeting query: SELECT m_arn.plumbeeui, DISTINCT(m_arn.endpoint) FROM mobile.lu_user m_user, mobile.lu_notifications_arn m_arn WHERE m_user.plumbeeuid = m_arn.plumbeeuid AND country_code IN (:america) GROUP BY m_arn.endpoint Workflow Execution Stats * * * * number number number number of of of of devices targeted: NNNNNN notifications sent: NNNNNN notifications that failed (excluding disabled devices): 0 disabled devices: NNNN Click here for workflow execution details. Friday, November 15, 13
  • 59. Day 2 retention - No Push vs Push Without Push 40 With Push 30 20 10 0 Day 1 Friday, November 15, 13 Final Day Redemption Day
  • 60. Summary • Collect and analyze data: Amazon SQS, Amazon S3, Amazon EMR, Apache Flume, Amazon Redshift • Targeting: SQL queries • Mobile Push with Amazon SNS • Orchestration with Amazon SWF Friday, November 15, 13
  • 61. More Information • Open Source projects • https://github.com/plumbee • Plumbee Engineering Blog • http://bit.ly/1hqWBD4 • Email • pablo.varela@plumbee.co.uk Friday, November 15, 13
  • 62. Extensive SDK and IDE support enables you to build applications tailored to your language or platform. SDKs for your preferred platform and language… Android iOS Java nodeJS .NET …integrated into your preferred IDE Eclipse Friday, November 15, 13 Visual Studio CLI Powershell PHP Python Ruby
  • 63. More Information • Amazon SNS Detail Page and Docs • http://amzn.to/179ee7r Amazon SNS Mobile Push • Getting Started + Sample Apps • http://amzn.to/15rs1DV • Email • aws-sns-mobile-push@amazon.com Friday, November 15, 13
  • 64. We hope your mobile app never gets abandoned! Friday, November 15, 13
  • 65. Please give us your feedback on this presentation MBL308 As a thank you, we will select prize winners daily for completed surveys! Friday, November 15, 13 Thank You
  • 66. Developers use intermediaries to abstract platform-specific APIs and manage tokens for millions of apps. Push Intermediary Friday, November 15, 13
  • 67. Developers use intermediaries to abstract platform-specific APIs and manage tokens for millions of apps. Abstraction so your app can engage users on any platform Manage tokens to ensure messages are delivered reliably Friday, November 15, 13 Operational complexity Scalability takes work Cost – even though the platform services themselves are free
  • 68. SNS offers easy scalability, so you can just start sending more messages as your app achieves scale. • Go from a few messages to hundreds of millions • Go from a few devices to hundreds of millions ...without provisioning, configuring or managing ...without sacrificing reliable, durable delivery Friday, November 15, 13
  • 69. You can get started for free. • 1 Million Free per Month • 1 million publishes + 1 million mobile push notifications • $1.00 per Million Thereafter • $0.50 per million publishes + $0.50 per million mobile push deliveries • When you broadcast with SNS Topics, your effective price can be lower Friday, November 15, 13