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,PlatformPrincipalisclient idandPlatformCredentialisclient secret.
- 
For Baidu,PlatformPrincipalisAPI keyandPlatformCredentialissecret key.
- 
For APNSandAPNS_SANDBOX,PlatformPrincipalisSSL certificateandPlatformCredentialisprivate key.
- 
For GCM(Firebase Cloud Messaging), there is noPlatformPrincipaland thePlatformCredentialisAPI key.
- 
For MPNS,PlatformPrincipalisTLS certificateandPlatformCredentialisprivate key.
- 
For WNS,PlatformPrincipalisPackage Security IdentifierandPlatformCredentialissecret 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);
}