java.lang.Object
software.amazon.awssdk.services.pinpoint.model.ADMMessage
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ADMMessage.Builder,ADMMessage>

@Generated("software.amazon.awssdk:codegen") public final class ADMMessage extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ADMMessage.Builder,ADMMessage>

Specifies the settings for a one-time message that's sent directly to an endpoint through the ADM (Amazon Device Messaging) channel.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final Action
    The action to occur if the recipient taps the push notification.
    final String
    The action to occur if the recipient taps the push notification.
    final String
    The body of the notification message.
     
    final String
    An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.
    The JSON data payload to use for the push notification, if the notification is a silent push notification.
    final boolean
     
    final boolean
    Indicates whether some other object is "equal to" this one by SDK fields.
    final String
    The amount of time, in seconds, that ADM should store the message if the recipient's device is offline.
    final <T> Optional<T>
    getValueForField(String fieldName, Class<T> clazz)
     
    final boolean
    For responses, this returns true if the service returned a value for the Data property.
    final int
     
    final boolean
    For responses, this returns true if the service returned a value for the Substitutions property.
    final String
    The icon image name of the asset saved in your app.
    final String
    The URL of the large icon image to display in the content view of the push notification.
    final String
    The URL of an image to display in the push notification.
    final String
    md5()
    The base64-encoded, MD5 checksum of the value specified by the Data property.
    final String
    The raw, JSON-formatted string to use as the payload for the notification message.
    final List<SdkField<?>>
     
    static Class<? extends ADMMessage.Builder>
     
    final Boolean
    Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device.
    final String
    The URL of the small icon image to display in the status bar and the content view of the push notification.
    final String
    The sound to play when the recipient receives the push notification.
    The default message variables to use in the notification message.
    final String
    The title to display above the notification message on the recipient's device.
    Take this object and create a builder that contains all of the current property values of this object.
    final String
    Returns a string representation of this object.
    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.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder

    copy
  • Method Details

    • 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, action will return Action.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from actionAsString().

      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:
    • 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, action will return Action.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from actionAsString().

      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:
    • body

      public final String body()

      The body of the notification message.

      Returns:
      The body of the notification message.
    • consolidationKey

      public final String consolidationKey()

      An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.

      Returns:
      An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.
    • 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 the isEmpty() 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.
    • expiresAfter

      public final String expiresAfter()

      The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.

      Returns:
      The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.
    • 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.
    • md5

      public final String md5()

      The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.

      Returns:
      The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.
    • 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.
    • 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 the isEmpty() 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.
    • 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 ADMMessage.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ADMMessage.Builder,ADMMessage>
      Returns:
      a builder for type T
    • builder

      public static ADMMessage.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ADMMessage.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.