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 InvalidParameterException. May throw InternalErrorException. May throw AuthorizationErrorException. 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. ForAPNS
andAPNS_SANDBOX
,PlatformCredential
isprivate key
. ForGCM
(Firebase Cloud Messaging),PlatformCredential
isAPI key
. ForADM
,PlatformCredential
isclient secret
. -
PlatformPrincipal
– The principal received from the notification service. ForAPNS
andAPNS_SANDBOX
,PlatformPrincipal
isSSL certificate
. ForGCM
(Firebase Cloud Messaging), there is noPlatformPrincipal
. ForADM
,PlatformPrincipal
isclient id
. -
EventEndpointCreated
– Topic ARN to whichEndpointCreated
event notifications are sent. -
EventEndpointDeleted
– Topic ARN to whichEndpointDeleted
event notifications are sent. -
EventEndpointUpdated
– Topic ARN to whichEndpointUpdate
event notifications are sent. -
EventDeliveryFailure
– Topic ARN to whichDeliveryFailure
event 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.
Parameter platformApplicationArn
:
PlatformApplicationArn for SetPlatformApplicationAttributes action.
Implementation
Future<void> setPlatformApplicationAttributes({
required Map<String, String> attributes,
required String platformApplicationArn,
}) async {
ArgumentError.checkNotNull(attributes, 'attributes');
ArgumentError.checkNotNull(
platformApplicationArn, 'platformApplicationArn');
final $request = <String, dynamic>{};
$request['Attributes'] = attributes;
$request['PlatformApplicationArn'] = platformApplicationArn;
await _protocol.send(
$request,
action: 'SetPlatformApplicationAttributes',
version: '2010-03-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['SetPlatformApplicationAttributesInput'],
shapes: shapes,
);
}