setPlatformApplicationAttributes method
Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.
May throw AuthorizationErrorException.
May throw InternalErrorException.
May throw InvalidParameterException.
May throw NotFoundException.
Parameter attributes :
A map of the platform application attributes. Attributes in this map
include the following:
-
PlatformCredential– The credential received from the notification service.-
For ADM,
PlatformCredentialis client secret. -
For Apple Services using certificate credentials,
PlatformCredentialis private key. -
For Apple Services using token credentials,
PlatformCredentialis signing key. -
For GCM (Firebase Cloud Messaging) using key credentials, there is no
PlatformPrincipal. ThePlatformCredentialisAPI key. -
For GCM (Firebase Cloud Messaging) using token credentials, there is no
PlatformPrincipal. ThePlatformCredentialis a JSON formatted private key file. When using the Amazon Web Services 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 ADM,
-
PlatformPrincipal– The principal received from the notification service.-
For ADM,
PlatformPrincipalis client id. -
For Apple Services using certificate credentials,
PlatformPrincipalis SSL certificate. -
For Apple Services using token credentials,
PlatformPrincipalis signing key ID. -
For GCM (Firebase Cloud Messaging), there is no
PlatformPrincipal.
-
For ADM,
-
EventEndpointCreated– Topic ARN to whichEndpointCreatedevent notifications are sent. -
EventEndpointDeleted– Topic ARN to whichEndpointDeletedevent notifications are sent. -
EventEndpointUpdated– Topic ARN to whichEndpointUpdateevent notifications are sent. -
EventDeliveryFailure– Topic ARN to whichDeliveryFailureevent notifications are sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints. -
SuccessFeedbackRoleArn– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf. -
FailureFeedbackRoleArn– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf. -
SuccessFeedbackSampleRate– Sample rate percentage (0-100) of successfully delivered messages.
APNs token-based
authentication:
-
ApplePlatformTeamID– The identifier that's assigned to your Apple developer account team. -
ApplePlatformBundleID– The bundle identifier that's assigned to your iOS app.
Parameter platformApplicationArn :
PlatformApplicationArn for
SetPlatformApplicationAttributes action.
Implementation
Future<void> setPlatformApplicationAttributes({
required Map<String, String> attributes,
required String platformApplicationArn,
}) async {
final $request = <String, String>{
for (var e1 in attributes.entries.toList().asMap().entries) ...{
'Attributes.entry.${e1.key + 1}.key': e1.value.key,
'Attributes.entry.${e1.key + 1}.value': e1.value.value,
},
'PlatformApplicationArn': platformApplicationArn,
};
await _protocol.send(
$request,
action: 'SetPlatformApplicationAttributes',
version: '2010-03-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
);
}