libZSservicesZSamazonka-pinpointZSamazonka-pinpoint
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.Pinpoint.Types.APNSMessage

Description

 
Synopsis

Documentation

data APNSMessage Source #

Specifies the settings for a one-time message that's sent directly to an endpoint through the APNs (Apple Push Notification service) channel.

See: newAPNSMessage smart constructor.

Constructors

APNSMessage' 

Fields

  • substitutions :: Maybe (HashMap Text [Text])

    The default message variables to use in the notification message. You can override these default variables with individual address variables.

  • silentPush :: Maybe Bool

    Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

    Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

    If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

    Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

  • aPNSPushType :: Maybe Text

    The type of push notification to send. Valid values are:

    • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.
    • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.
    • complication - For a notification that contains update information for an app’s complication timeline.
    • fileprovider - For a notification that signals changes to a File Provider extension.
    • mdm - For a notification that tells managed devices to contact the MDM server.
    • voip - For a notification that provides information about an incoming VoIP call.

    Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

    For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

  • priority :: Maybe Text

    para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

    /listitem>

    10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

    /para>

    Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

    The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

  • rawContent :: Maybe Text

    The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

    If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

  • data' :: Maybe (HashMap Text Text)

    The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

  • body :: Maybe Text

    The body of the notification message.

  • category :: Maybe Text

    The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

  • timeToLive :: Maybe Int

    The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

    Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

  • url :: Maybe Text

    The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

  • sound :: Maybe Text

    The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

  • action :: Maybe Action

    The action to occur if the recipient taps the push notification. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.
    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  • mediaUrl :: Maybe Text

    The URL of an image or video to display in the push notification.

  • preferredAuthenticationMethod :: Maybe Text

    The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

  • badge :: Maybe Int

    The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

  • title :: Maybe Text

    The title to display above the notification message on the recipient's device.

  • threadId :: Maybe Text

    The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

  • collapseId :: Maybe Text

    An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

    Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.

Instances

Instances details
Eq APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

Read APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

Show APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

Generic APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

Associated Types

type Rep APNSMessage :: Type -> Type #

NFData APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

Methods

rnf :: APNSMessage -> () #

Hashable APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

ToJSON APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

type Rep APNSMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.APNSMessage

type Rep APNSMessage = D1 ('MetaData "APNSMessage" "Amazonka.Pinpoint.Types.APNSMessage" "libZSservicesZSamazonka-pinpointZSamazonka-pinpoint" 'False) (C1 ('MetaCons "APNSMessage'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "substitutions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text [Text]))) :*: S1 ('MetaSel ('Just "silentPush") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "aPNSPushType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "priority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "rawContent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "data'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text Text)))) :*: (S1 ('MetaSel ('Just "body") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "category") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "timeToLive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))))) :*: (((S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "sound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Action)) :*: S1 ('MetaSel ('Just "mediaUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "preferredAuthenticationMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "badge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "threadId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "collapseId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))))

newAPNSMessage :: APNSMessage Source #

Create a value of APNSMessage with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:substitutions:APNSMessage', aPNSMessage_substitutions - The default message variables to use in the notification message. You can override these default variables with individual address variables.

$sel:silentPush:APNSMessage', aPNSMessage_silentPush - Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

$sel:aPNSPushType:APNSMessage', aPNSMessage_aPNSPushType - The type of push notification to send. Valid values are:

  • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.
  • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.
  • complication - For a notification that contains update information for an app’s complication timeline.
  • fileprovider - For a notification that signals changes to a File Provider extension.
  • mdm - For a notification that tells managed devices to contact the MDM server.
  • voip - For a notification that provides information about an incoming VoIP call.

Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

$sel:priority:APNSMessage', aPNSMessage_priority - para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

/listitem>

10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

/para>

Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

$sel:rawContent:APNSMessage', aPNSMessage_rawContent - The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

$sel:data':APNSMessage', aPNSMessage_data - The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

$sel:body:APNSMessage', aPNSMessage_body - The body of the notification message.

$sel:category:APNSMessage', aPNSMessage_category - The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

$sel:timeToLive:APNSMessage', aPNSMessage_timeToLive - The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

$sel:url:APNSMessage', aPNSMessage_url - The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

$sel:sound:APNSMessage', aPNSMessage_sound - The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

$sel:action:APNSMessage', aPNSMessage_action - The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.
  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

$sel:mediaUrl:APNSMessage', aPNSMessage_mediaUrl - The URL of an image or video to display in the push notification.

$sel:preferredAuthenticationMethod:APNSMessage', aPNSMessage_preferredAuthenticationMethod - The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

$sel:badge:APNSMessage', aPNSMessage_badge - The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

$sel:title:APNSMessage', aPNSMessage_title - The title to display above the notification message on the recipient's device.

$sel:threadId:APNSMessage', aPNSMessage_threadId - The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

$sel:collapseId:APNSMessage', aPNSMessage_collapseId - An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.

aPNSMessage_substitutions :: Lens' APNSMessage (Maybe (HashMap Text [Text])) Source #

The default message variables to use in the notification message. You can override these default variables with individual address variables.

aPNSMessage_silentPush :: Lens' APNSMessage (Maybe Bool) Source #

Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

aPNSMessage_aPNSPushType :: Lens' APNSMessage (Maybe Text) Source #

The type of push notification to send. Valid values are:

  • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.
  • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.
  • complication - For a notification that contains update information for an app’s complication timeline.
  • fileprovider - For a notification that signals changes to a File Provider extension.
  • mdm - For a notification that tells managed devices to contact the MDM server.
  • voip - For a notification that provides information about an incoming VoIP call.

Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

aPNSMessage_priority :: Lens' APNSMessage (Maybe Text) Source #

para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

/listitem>

10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

/para>

Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

aPNSMessage_rawContent :: Lens' APNSMessage (Maybe Text) Source #

The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

aPNSMessage_data :: Lens' APNSMessage (Maybe (HashMap Text Text)) Source #

The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

aPNSMessage_body :: Lens' APNSMessage (Maybe Text) Source #

The body of the notification message.

aPNSMessage_category :: Lens' APNSMessage (Maybe Text) Source #

The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

aPNSMessage_timeToLive :: Lens' APNSMessage (Maybe Int) Source #

The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

aPNSMessage_url :: Lens' APNSMessage (Maybe Text) Source #

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

aPNSMessage_sound :: Lens' APNSMessage (Maybe Text) Source #

The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

aPNSMessage_action :: Lens' APNSMessage (Maybe Action) Source #

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.
  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

aPNSMessage_mediaUrl :: Lens' APNSMessage (Maybe Text) Source #

The URL of an image or video to display in the push notification.

aPNSMessage_preferredAuthenticationMethod :: Lens' APNSMessage (Maybe Text) Source #

The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

aPNSMessage_badge :: Lens' APNSMessage (Maybe Int) Source #

The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

aPNSMessage_title :: Lens' APNSMessage (Maybe Text) Source #

The title to display above the notification message on the recipient's device.

aPNSMessage_threadId :: Lens' APNSMessage (Maybe Text) Source #

The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

aPNSMessage_collapseId :: Lens' APNSMessage (Maybe Text) Source #

An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.