CreatePlatformApplication
Creates a platform application object for one of the supported push notification
services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile
apps may register. You must specify PlatformPrincipal
and
PlatformCredential
attributes when using the
CreatePlatformApplication
action.
PlatformPrincipal
and PlatformCredential
are received from
the notification service.
-
For ADM,
PlatformPrincipal
isclient id
andPlatformCredential
isclient secret
. -
For APNS and
APNS_SANDBOX
using certificate credentials,PlatformPrincipal
isSSL certificate
andPlatformCredential
isprivate key
. -
For APNS and
APNS_SANDBOX
using token credentials,PlatformPrincipal
issigning key ID
andPlatformCredential
issigning key
. -
For Baidu,
PlatformPrincipal
isAPI key
andPlatformCredential
issecret key
. -
For GCM (Firebase Cloud Messaging) using key credentials, there is no
PlatformPrincipal
. ThePlatformCredential
isAPI key
. -
For GCM (Firebase Cloud Messaging) using token credentials, there is no
PlatformPrincipal
. ThePlatformCredential
is a JSON formatted private key file. When using the AWS CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command:SERVICE_JSON=`jq @json <<< cat service.json`
. -
For MPNS,
PlatformPrincipal
isTLS certificate
andPlatformCredential
isprivate key
. -
For WNS,
PlatformPrincipal
isPackage Security Identifier
andPlatformCredential
issecret key
.
You can use the returned PlatformApplicationArn
as an attribute for the
CreatePlatformEndpoint
action.
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
- Attributes
- Attributes.entry.N.key (key)
- Attributes.entry.N.value (value)
-
For a list of attributes, see
SetPlatformApplicationAttributes
.Type: String to string map
Required: Yes
- Name
-
Application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long.
Type: String
Required: Yes
- Platform
-
The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud Messaging).
Type: String
Required: Yes
Response Elements
The following element is returned by the service.
- PlatformApplicationArn
-
PlatformApplicationArn
is returned.Type: String
Errors
For information about the errors that are common to all actions, see Common Errors.
- AuthorizationError
-
Indicates that the user has been denied access to the requested resource.
HTTP Status Code: 403
- InternalError
-
Indicates an internal service error.
HTTP Status Code: 500
- InvalidParameter
-
Indicates that a request parameter does not comply with the associated constraints.
HTTP Status Code: 400
Examples
The structure of AUTHPARAMS
depends on the signature of the API request.
For more information, see Examples
of the complete Signature Version 4 signing process (Python) in the
AWS General Reference.
Example
This example illustrates one usage of CreatePlatformApplication.
Sample Request
https://sns.us-west-2.amazonaws.com/?Action=CreatePlatformApplication
&Name=gcmpushapp
&Platform=GCM
&Attributes.entry.1.key=PlatformCredential
&Attributes.entry.1.value=AIzaSyClE2lcV2zEKTLYYo645zfk2jhQPFeyxDo
&Attributes.entry.2.key=PlatformPrincipal
&Attributes.entry.2.value=There+is+no+principal+for+GCM
&Version=2010-03-31
&AUTHPARAMS
Sample Response
<CreatePlatformApplicationResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/">
<CreatePlatformApplicationResult>
<PlatformApplicationArn>arn:aws:sns:us-west-2:123456789012:app/GCM/gcmpushapp</PlatformApplicationArn>
</CreatePlatformApplicationResult>
<ResponseMetadata>
<RequestId>b6f0e78b-e9d4-5a0e-b973-adc04e8a4ff9</RequestId>
</ResponseMetadata>
</CreatePlatformApplicationResponse>
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: