Class GCMMessage
- java.lang.Object
-
- software.amazon.awssdk.services.pinpoint.model.GCMMessage
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<GCMMessage.Builder,GCMMessage>
@Generated("software.amazon.awssdk:codegen") public final class GCMMessage extends Object implements SdkPojo, Serializable, ToCopyableBuilder<GCMMessage.Builder,GCMMessage>
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 Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceGCMMessage.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Actionaction()The action to occur if the recipient taps the push notification.StringactionAsString()The action to occur if the recipient taps the push notification.Stringbody()The body of the notification message.static GCMMessage.Builderbuilder()StringcollapseKey()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.Map<String,String>data()The JSON data payload to use for the push notification, if the notification is a silent push notification.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)booleanhasData()For responses, this returns true if the service returned a value for the Data property.inthashCode()booleanhasSubstitutions()For responses, this returns true if the service returned a value for the Substitutions property.StringiconReference()The icon image name of the asset saved in your app.StringimageIconUrl()The URL of the large icon image to display in the content view of the push notification.StringimageUrl()The URL of an image to display in the push notification.StringpreferredAuthenticationMethod()The preferred authentication method, with valid values "KEY" or "TOKEN".Stringpriority()para>normal – The notification might be delayed.StringrawContent()The raw, JSON-formatted string to use as the payload for the notification message.StringrestrictedPackageName()The package name of the application where registration tokens must match in order for the recipient to receive the message.List<SdkField<?>>sdkFields()static Class<? extends GCMMessage.Builder>serializableBuilderClass()BooleansilentPush()Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device.StringsmallImageIconUrl()The URL of the small icon image to display in the status bar and the content view of the push notification.Stringsound()The sound to play when the recipient receives the push notification.Map<String,List<String>>substitutions()The default message variables to use in the notification message.IntegertimeToLive()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.Stringtitle()The title to display above the notification message on the recipient's device.GCMMessage.BuildertoBuilder()StringtoString()Returns a string representation of this object.Stringurl()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.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
action
public final Action 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.
If the service returns an enum value that is not available in the current SDK version,
actionwill returnAction.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromactionAsString().- Returns:
- 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.
-
- See Also:
Action
-
-
actionAsString
public final String actionAsString()
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.
If the service returns an enum value that is not available in the current SDK version,
actionwill returnAction.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromactionAsString().- Returns:
- 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.
-
- See Also:
Action
-
-
body
public final String body()
The body of the notification message.
- Returns:
- The body of the notification message.
-
collapseKey
public final String 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.
- Returns:
- 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.
-
hasData
public final boolean hasData()
For responses, this returns true if the service returned a value for the Data property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
data
public final Map<String,String> 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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasData()method.- Returns:
- 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.
-
iconReference
public final String iconReference()
The icon image name of the asset saved in your app.
- Returns:
- The icon image name of the asset saved in your app.
-
imageIconUrl
public final String imageIconUrl()
The URL of the large icon image to display in the content view of the push notification.
- Returns:
- The URL of the large icon image to display in the content view of the push notification.
-
imageUrl
public final String imageUrl()
The URL of an image to display in the push notification.
- Returns:
- The URL of an image to display in the push notification.
-
preferredAuthenticationMethod
public final String preferredAuthenticationMethod()
The preferred authentication method, with valid values "KEY" or "TOKEN". If a value isn't provided then the DefaultAuthenticationMethod is used.
- Returns:
- The preferred authentication method, with valid values "KEY" or "TOKEN". If a value isn't provided then the DefaultAuthenticationMethod is used.
-
priority
public final String 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> /para>high – The notification is sent immediately and might wake a sleeping device.
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.
- Returns:
- 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>
/para>high – The notification is sent immediately and might wake a sleeping device.
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
public final String 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.
- Returns:
- 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.
-
restrictedPackageName
public final String restrictedPackageName()
The package name of the application where registration tokens must match in order for the recipient to receive the message.
- Returns:
- The package name of the application where registration tokens must match in order for the recipient to receive the message.
-
silentPush
public final Boolean 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.
- Returns:
- 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.
-
smallImageIconUrl
public final String smallImageIconUrl()
The URL of the small icon image to display in the status bar and the content view of the push notification.
- Returns:
- The URL of the small icon image to display in the status bar and the content view of the push notification.
-
sound
public final String 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/.
- Returns:
- 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/.
-
hasSubstitutions
public final boolean hasSubstitutions()
For responses, this returns true if the service returned a value for the Substitutions property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
substitutions
public final Map<String,List<String>> substitutions()
The default message variables to use in the notification message. You can override the default variables with individual address variables.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSubstitutions()method.- Returns:
- The default message variables to use in the notification message. You can override the default variables with individual address variables.
-
timeToLive
public final Integer 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.
- Returns:
- 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.
-
title
public final String title()
The title to display above the notification message on the recipient's device.
- Returns:
- The title to display above the notification message on the recipient's device.
-
url
public final String 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.
- Returns:
- 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.
-
toBuilder
public GCMMessage.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<GCMMessage.Builder,GCMMessage>
-
builder
public static GCMMessage.Builder builder()
-
serializableBuilderClass
public static Class<? extends GCMMessage.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-