Amazon Simple Notification Service
Developer Guide (API Version 2010-03-31)

Amazon SNS Mobile Push Notifications

With Amazon SNS, you have the ability to send push notification messages directly to apps on mobile devices. Push notification messages sent to a mobile endpoint can appear in the mobile app as message alerts, badge updates, or even sound alerts.


You send push notification messages to both mobile devices and desktops using one of the following supported push notification services:

  • Amazon Device Messaging (ADM)

  • Apple Push Notification Service (APNS) for both iOS and Mac OS X

  • Baidu Cloud Push (Baidu)

  • Google Cloud Messaging for Android (GCM)

  • Microsoft Push Notification Service for Windows Phone (MPNS)

  • Windows Push Notification Services (WNS)

The following figure shows an overview of how Amazon SNS is used to send a direct push notification message to a mobile endpoint.

Push notification services, such as APNS and GCM, maintain a connection with each app and associated mobile device registered to use their service. When an app and mobile device register, the push notification service returns a device token. Amazon SNS uses the device token to create a mobile endpoint, to which it can send direct push notification messages. In order for Amazon SNS to communicate with the different push notification services, you submit your push notification service credentials to Amazon SNS to be used on your behalf. For more information, see Amazon SNS Mobile Push High‐Level Steps

In addition to sending direct push notification messages, you can also use Amazon SNS to send messages to mobile endpoints subscribed to a topic. The concept is the same as subscribing other endpoint types, such as Amazon SQS, HTTP/S, email, and SMS, to a topic, as described in What is Amazon Simple Notification Service?. The difference is that Amazon SNS communicates using the push notification services in order for the subscribed mobile endpoints to receive push notification messages sent to the topic. The following figure shows a mobile endpoint as a subscriber to an Amazon SNS topic. The mobile endpoint communicates using push notification services where the other endpoints do not.


To begin using Amazon SNS mobile push notifications, you first need an app for the mobile endpoints that uses one of the supported push notification services: ADM, APNS, Baidu, GCM, MPNS, or WNS. After you've registered and configured the app to use one of these services, you configure Amazon SNS to send push notification messages to the mobile endpoints.

Registering your application with a push notification service requires several steps. Amazon SNS needs some of the information you provide to the push notification service in order to send direct push notification messages to the mobile endpoint. Generally speaking, you need the required credentials for connecting to the push notification service, a device token or registration id (representing your mobile device and mobile app) received from the push notification service, and the mobile app registered with the push notification service. The specific names will vary depending on which push notification service is being used. For example, when using APNS as the push notification service, you need the device token. Alternatively, when using GCM, the device token equivalent is called the registration ID. The device token and registration ID are unique identifiers for the mobile app and device.

The following sections include the prerequisites for each of the supported push notification services. Once you've obtained the prerequisite information, you can send a push notification message using the AWS Management Console or the Amazon SNS mobile push APIs. For more information, see Using Amazon SNS Mobile Push and Using Amazon SNS Mobile Push APIs.