setPlatformApplicationAttributes method

Future<void> setPlatformApplicationAttributes({
  1. required Map<String, String> attributes,
  2. required String platformApplicationArn,
})

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. For APNS and APNS_SANDBOX, PlatformCredential is private key. For GCM (Firebase Cloud Messaging), PlatformCredential is API key. For ADM, PlatformCredential is client secret.
  • PlatformPrincipal – The principal received from the notification service. For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal. For ADM, PlatformPrincipal is client id.
  • EventEndpointCreated – Topic ARN to which EndpointCreated event notifications are sent.
  • EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications are sent.
  • EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications are sent.
  • EventDeliveryFailure – Topic ARN to which DeliveryFailure 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,
  );
}