createPlatformApplication method
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
Baidu
,PlatformPrincipal
isAPI key
andPlatformCredential
issecret key
. -
For
APNS
andAPNS_SANDBOX
,PlatformPrincipal
isSSL certificate
andPlatformCredential
isprivate key
. -
For
GCM
(Firebase Cloud Messaging), there is noPlatformPrincipal
and thePlatformCredential
isAPI key
. -
For
MPNS
,PlatformPrincipal
isTLS certificate
andPlatformCredential
isprivate key
. -
For
WNS
,PlatformPrincipal
isPackage Security Identifier
andPlatformCredential
issecret key
.
PlatformApplicationArn
as an
attribute for the CreatePlatformEndpoint
action.
May throw InvalidParameterException. May throw InternalErrorException. May throw AuthorizationErrorException.
Parameter attributes
:
For a list of attributes, see SetPlatformApplicationAttributes
Parameter 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.
Parameter platform
:
The following platforms are supported: ADM (Amazon Device Messaging), APNS
(Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud
Messaging).
Implementation
Future<CreatePlatformApplicationResponse> createPlatformApplication({
required Map<String, String> attributes,
required String name,
required String platform,
}) async {
ArgumentError.checkNotNull(attributes, 'attributes');
ArgumentError.checkNotNull(name, 'name');
ArgumentError.checkNotNull(platform, 'platform');
final $request = <String, dynamic>{};
$request['Attributes'] = attributes;
$request['Name'] = name;
$request['Platform'] = platform;
final $result = await _protocol.send(
$request,
action: 'CreatePlatformApplication',
version: '2010-03-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['CreatePlatformApplicationInput'],
shapes: shapes,
resultWrapper: 'CreatePlatformApplicationResult',
);
return CreatePlatformApplicationResponse.fromXml($result);
}