Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation...

58
Engage Your Customers with SNS Mobile Push Jon Turow, AWS Mobile

Transcript of Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation...

Page 1: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Engage Your Customers

with SNS Mobile Push Jon Turow, AWS Mobile

Page 2: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

65% of mobile apps are abandoned

within 90 days.

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

Page 3: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

“…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

Page 4: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Mobile push notifications engage customers when your app

is not currently active.

Page 5: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Mobile push notifications engage customers when your app

is not currently active.

• Right message

• Right user

• Right time

Page 6: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Discussion Topics

• Engaging Your Users with Push Notifications

• Quick Intro to Mobile Push and Simple Notification Service (SNS)

• Getting Started with SNS

Page 7: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

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

Page 8: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Push notifications drive user engagement

“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.”

- Plumbee gaming customer

Page 9: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Some Use Cases

Broadcast Direct Closed Loop

Identical messages to

many players at once

Unique messages to

individual players

Targeted and optimized

with analytics

Page 10: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Some Use Cases

Broadcast Direct Closed Loop

Identical messages to

many players at once

Unique messages to

individual players

Targeted and optimized

with analytics

Page 11: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Broadcast Push Notification Use Cases

• New features/content/games

• Promotion start/ends/redemption

• Active players (active in 7 days)

• Newly inactive players

• Segmentation (geo, spend, others..)

Page 12: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Broadcast Push Notification Use Cases

• “New episode available now!”

• “Halloween challenge starts today.”

• “Keep the streak going.”

• “Smokey the bear misses you!”

• “New Jetpack, on sale today!”

Page 13: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Some Use Cases

Broadcast Closed Loop

Identical messages to

many players at once

Targeted and optimized

with analytics

Direct

Unique messages to

individual players

Page 14: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Direct Push Notification Use Cases

• Messaging

• Turn-based activities

• Events

• User lifecycle

• Administrative

Page 15: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Direct Push Notification Use Cases

• “Jon invited you to a game.”

• “It’s your turn to play.”

• “You now have full lives.”

• “Welcome to the game!”

• “Your subscription is ending.”

Page 16: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Some Use Cases

Broadcast

Identical messages to

many players at once

Direct

Unique messages to

individual players

Closed Loop

Targeted and optimized

with analytics

Page 17: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Closed Loop Push Notification Use Cases

• Broadcast push notifications

• Direct push notifications

Page 18: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Closed Loop Push Notification Use Cases

• Different messages

• Different frequencies

• Different segments

• Different times of day

• Different points in the lifecycle

Page 19: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Some Use Cases

Broadcast Direct Closed Loop

Identical messages to

many players at once

Unique messages to

individual players

Targeted and optimized

with analytics

Page 20: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Consider push notifications as calls-to-action: what

messages will most effectively reengage your players?

Page 21: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.
Page 22: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Mirrorball Slots - Mobile

Page 23: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Mirrorball Slots - Challenges

Page 24: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Mirrorball Slots - Challenges

Push 1:

Initial Offer

Push 2:

Final Offer

Push 3:

Offer Redemption

Page 25: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Push notifications drive user engagement

Without Push With Push

Real User Engagement Comparison

Initial Offer

Final Offer

Offer Redemption Day

Page 26: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Discussion Topics

• Engaging Your Users with Push Notifications

• Quick Intro to Mobile Push and Simple Notification Service (SNS)

• Getting Started with SNS

Page 27: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Your cloud application directs mobile push notifications to

a specific app on a specific device

Cloud App Mobile Apps

Page 28: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Notifications are delivered via platform-specific push

services, which keep connections with their devices.

Cloud App Mobile Apps

Platform

Service

Page 29: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Developers manage tokens for each device, and must

proactively swap or disable them based on feedback.

Platform

Service

Token Registration

Token

Feedback

Page 30: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Each platform-specific push service works differently.

Apple APNS

Google GCM

Amazon ADM

• Different APIs

• Different Features

• Different Feedback

Page 31: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Push notifications get even more complex as you scale to

support millions of devices.

Cloud App

Platform Services Mobile Apps

Page 32: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Developers build custom intermediaries to abstract platform-

specific APIs and manage tokens for millions of apps.

Mobile AppsPush Intermediary

Page 33: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Developers build custom 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

Operational complexity

Scalability takes work

Cost – even though the

platform services

themselves are free

Page 34: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Amazon SNS Mobile Push is a managed, scalable, cross-

platform push intermediary service.

Amazon SNS

Mobile Push

Apple Devices

Google Devices

Amazon Kindle Fire Devices

Page 35: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

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

Page 36: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

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

Page 37: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Discussion Topics

• Engaging Your Users with Push Notifications

• Quick Intro to Mobile Push and Simple Notification Service (SNS)

• Getting Started with SNS

Page 38: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

SNS publishes notifications on your behalf using the

credentials you obtain from each push service.

Apple APNS

Google GCM

Amazon ADM

Amazon SNS

Mobile Push

Page 39: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

SNS encapsulates each device token inside an Amazon

Resource Name (ARN) endpoint.

Apple APNS

Google GCM

Amazon ADM

Amazon SNS

Mobile Push

ARN 1

Token A

ARN 2

Token B

ARN 3

Token C

Page 40: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Once you register a device with SNS, SNS proactively consumes

feedback about the corresponding token from the push service.

Amazon SNS

Mobile PushToken

Registration

Token

Feedback

Cloud App

You can access

the underlying

tokens and

feedback, but you

don’t have to do

so in order to use

SNS.

Page 41: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

ARN endpoints remain stable, even if the underlying token

is swapped or disabled.

Apple APNS

Google GCM

Amazon ADM

Amazon SNS

Mobile Push

ARN 1

Token A

ARN 2

Token B

ARN 3

Token C

Token X

Token Y

Page 42: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

ARN endpoints behave the same no matter which mobile

platform they address.

Amazon SNS

Mobile Push

ARN 1

Token A

ARN 2

Token B

ARN 3

Token C

Page 43: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

You can publish unique messages to individual devices, or

broadcast identical messages to many devices at once.

Publish

Publish

Publish

Publish

Direct Publishing Broadcast with SNS Topics

Page 44: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Grouping users by SNS Topic

Geography Activity Product

US – West Coast Daily Actives Flapping Bird Rio

Interest Tier Segment

49ers Premium Top 100 Players

Page 45: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Apple

Kindle

Fire

Kindle

Fire

Google

Publish

Apple

Kindle

Fire

Kindle

Fire

Google

Publish

SNS can reformat your message for each mobile platform,

or you can specify platform-specific payloads.

Publish Once, Deliver Anywhere Specify Platform-Specific Payloads

Page 46: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

So let’s get started.

Page 47: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 1: Write your mobile app

• Use the mobile app platform’s

push notification libraries as you

normally would.

Page 48: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

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

Page 49: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 3: Register Your Mobile App with AWS

Amazon SNS

Mobile Push

Page 50: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 4: Obtain a Token/Registration ID from the device

• APNs:

• Device Token

• GCM:

• Registration ID

• ADM:

• Registration ID

Cloud

App

<e960d9b1…de43f6c0>

Page 51: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 5: Add Token/Registration ID 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 the AWS token vending service and let devices register themselves

• Receive an ARN back

Amazon SNS

Mobile Push

Cloud

App

<e

96

0d

9b

1…

de

43

f6c0

>

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

Page 52: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

private String getArnForDeviceEndpoint(

String platformApplicationArn,

String deviceToken) {

CreatePlatformEndpointRequest request =

new CreatePlatformEndpointRequest()

.withPlatformApplicationArn(platformApplicationArn)

.withToken(deviceToken);

CreatePlatformEndpointResult result =

snsClient.createPlatformEndpoint(request);

return result.getEndpointArn();

}

Device Registration – Code example

Page 53: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 6a: Send Push Notifications via the Console

Hello world!

Page 54: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

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-5137-be1d-b06928d999d0'}, u'ResponseMetadata': {u'RequestId': u'c3c26267-92af-50b3-b529-2893ce0e4854'}}}

>>>

Page 55: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Step 7: Receive and Close the Loop

Page 56: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Demo

Page 57: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Amazon offers mobile Analytics and A/B Testing

services.

• Amazon Analytics– Simple, free, cross-platform mobile analytics

• Amazon A/B Testing– A free, cross-platform way to run in-game

experiments

Page 58: Engage Your Customers with SNS Mobile Pushfiles.meetup.com › 8763012 › AWS Meetup Presentation SNS...Mobile push notifications engage customers when your app is not currently active.

Amazon SNS

Mobile Push

Quick Review:

• Cross-platform push to Apple, Google and Amazon

• 1m free per month, and $1.00 per million thereafter

• Seamless scalability with durable, reliable deliveries

• Easy token management

For More Information:

• SNS Detail Page and Docs: http://amzn.to/179ee7r

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

• Email: [email protected]

Hands-On Workshop - Thursday, 4/10 at 5 PM

• www.meetup.com/AWS-BERKELEY

Scaling to the First 10 Million Users - Thursday, 4/24 at 7 PM

• www.meetup.com/AWS-OAKLAND: