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
andPlatformCredential
are received from the notification service.
For ADM
, PlatformPrincipal
is client id
and PlatformCredential
is client secret
.
For Baidu
, PlatformPrincipal
is API key
and PlatformCredential
is secret key
.
For APNS
and APNS_SANDBOX
using certificate credentials, PlatformPrincipal
is SSL certificate
and PlatformCredential
is private key
.
For APNS
and APNS_SANDBOX
using token credentials, PlatformPrincipal
is signing key ID
and PlatformCredential
is signing key
.
For GCM
(Firebase Cloud Messaging), there is no PlatformPrincipal
and the PlatformCredential
is API key
.
For MPNS
, PlatformPrincipal
is TLS certificate
and PlatformCredential
is private key
.
For WNS
, PlatformPrincipal
is Package Security Identifier
and PlatformCredential
is secret key
.
You can use the returned PlatformApplicationArn
as an attribute for the CreatePlatformEndpoint
action.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-platform-application
--name <value>
--platform <value>
--attributes <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--name
(string)
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.
--platform
(string)
The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud Messaging).
--attributes
(map)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "string"
...}
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create a platform application
The following create-platform-application
example creates a Google Firebase platform application using the specified platform credential.
aws sns create-platform-application \
--name MyApplication \
--platform GCM \
--attributes PlatformCredential=EXAMPLEabcd12345jklm67890stuv12345bcdef
Output:
{
"PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication"
}