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.GCMMessage

Description

 
Synopsis

Documentation

data GCMMessage Source #

Specifies the settings for a one-time message that's sent directly to an endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

See: newGCMMessage smart constructor.

Constructors

GCMMessage' 

Fields

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

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

  • silentPush :: Maybe Bool

    Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

  • imageIconUrl :: Maybe Text

    The URL of the large icon image to display in the content view of the push notification.

  • priority :: Maybe Text

    para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

    /listitem>

    high - The notification is sent immediately and might wake a sleeping device.

    /para>

    Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

    The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM 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.

  • data' :: Maybe (HashMap Text Text)

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

  • restrictedPackageName :: Maybe Text

    The package name of the application where registration tokens must match in order for the recipient to receive the message.

  • smallImageIconUrl :: Maybe Text

    The URL of the small icon image to display in the status bar and the content view of the push notification.

  • body :: Maybe Text

    The body of the notification message.

  • timeToLive :: Maybe Int

    The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

    Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

  • 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 sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

  • 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 action uses the deep-linking features of the Android platform.
    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.
  • collapseKey :: Maybe Text

    An arbitrary string that identifies a group of messages that can be collapsed to ensure that only the last message is sent when delivery can resume. This helps avoid sending too many instances of the same messages when the recipient's device comes online again or becomes active.

    Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends the notification message to FCM.

  • imageUrl :: Maybe Text

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

  • title :: Maybe Text

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

  • iconReference :: Maybe Text

    The icon image name of the asset saved in your app.

Instances

Instances details
Eq GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

Read GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

Show GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

Generic GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

Associated Types

type Rep GCMMessage :: Type -> Type #

NFData GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

Methods

rnf :: GCMMessage -> () #

Hashable GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

ToJSON GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

type Rep GCMMessage Source # 
Instance details

Defined in Amazonka.Pinpoint.Types.GCMMessage

type Rep GCMMessage = D1 ('MetaData "GCMMessage" "Amazonka.Pinpoint.Types.GCMMessage" "libZSservicesZSamazonka-pinpointZSamazonka-pinpoint" 'False) (C1 ('MetaCons "GCMMessage'" '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 "imageIconUrl") '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 "restrictedPackageName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "smallImageIconUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: (((S1 ('MetaSel ('Just "body") '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 "collapseKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "imageUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "iconReference") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))))

newGCMMessage :: GCMMessage Source #

Create a value of GCMMessage 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:GCMMessage', gCMMessage_substitutions - The default message variables to use in the notification message. You can override the default variables with individual address variables.

$sel:silentPush:GCMMessage', gCMMessage_silentPush - Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

$sel:imageIconUrl:GCMMessage', gCMMessage_imageIconUrl - The URL of the large icon image to display in the content view of the push notification.

$sel:priority:GCMMessage', gCMMessage_priority - para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

/listitem>

high - The notification is sent immediately and might wake a sleeping device.

/para>

Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

$sel:rawContent:GCMMessage', gCMMessage_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.

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

$sel:restrictedPackageName:GCMMessage', gCMMessage_restrictedPackageName - The package name of the application where registration tokens must match in order for the recipient to receive the message.

$sel:smallImageIconUrl:GCMMessage', gCMMessage_smallImageIconUrl - The URL of the small icon image to display in the status bar and the content view of the push notification.

$sel:body:GCMMessage', gCMMessage_body - The body of the notification message.

$sel:timeToLive:GCMMessage', gCMMessage_timeToLive - The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

$sel:url:GCMMessage', gCMMessage_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:GCMMessage', gCMMessage_sound - The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

$sel:action:GCMMessage', gCMMessage_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 action uses the deep-linking features of the Android platform.
  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

$sel:collapseKey:GCMMessage', gCMMessage_collapseKey - An arbitrary string that identifies a group of messages that can be collapsed to ensure that only the last message is sent when delivery can resume. This helps avoid sending too many instances of the same messages when the recipient's device comes online again or becomes active.

Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends the notification message to FCM.

$sel:imageUrl:GCMMessage', gCMMessage_imageUrl - The URL of an image to display in the push notification.

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

$sel:iconReference:GCMMessage', gCMMessage_iconReference - The icon image name of the asset saved in your app.

gCMMessage_substitutions :: Lens' GCMMessage (Maybe (HashMap Text [Text])) Source #

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

gCMMessage_silentPush :: Lens' GCMMessage (Maybe Bool) Source #

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

gCMMessage_imageIconUrl :: Lens' GCMMessage (Maybe Text) Source #

The URL of the large icon image to display in the content view of the push notification.

gCMMessage_priority :: Lens' GCMMessage (Maybe Text) Source #

para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

/listitem>

high - The notification is sent immediately and might wake a sleeping device.

/para>

Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

gCMMessage_rawContent :: Lens' GCMMessage (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.

gCMMessage_data :: Lens' GCMMessage (Maybe (HashMap Text Text)) Source #

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

gCMMessage_restrictedPackageName :: Lens' GCMMessage (Maybe Text) Source #

The package name of the application where registration tokens must match in order for the recipient to receive the message.

gCMMessage_smallImageIconUrl :: Lens' GCMMessage (Maybe Text) Source #

The URL of the small icon image to display in the status bar and the content view of the push notification.

gCMMessage_body :: Lens' GCMMessage (Maybe Text) Source #

The body of the notification message.

gCMMessage_timeToLive :: Lens' GCMMessage (Maybe Int) Source #

The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

gCMMessage_url :: Lens' GCMMessage (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.

gCMMessage_sound :: Lens' GCMMessage (Maybe Text) Source #

The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

gCMMessage_action :: Lens' GCMMessage (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 action uses the deep-linking features of the Android platform.
  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

gCMMessage_collapseKey :: Lens' GCMMessage (Maybe Text) Source #

An arbitrary string that identifies a group of messages that can be collapsed to ensure that only the last message is sent when delivery can resume. This helps avoid sending too many instances of the same messages when the recipient's device comes online again or becomes active.

Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends the notification message to FCM.

gCMMessage_imageUrl :: Lens' GCMMessage (Maybe Text) Source #

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

gCMMessage_title :: Lens' GCMMessage (Maybe Text) Source #

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

gCMMessage_iconReference :: Lens' GCMMessage (Maybe Text) Source #

The icon image name of the asset saved in your app.