Class Message

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

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

Specifies the content and settings for a push notification that's sent to recipients of a campaign.

See Also:
  • Method Details

    • action

      public final Action action()

      The action to occur if a 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 iOS and Android.

      • 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 a 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 iOS and Android.

      • 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 a 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 iOS and Android.

      • 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 a 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 iOS and Android.

      • 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. The maximum number of characters is 200.

      Returns:
      The body of the notification message. The maximum number of characters is 200.
    • imageIconUrl

      public final String imageIconUrl()

      The URL of the image to display as the push-notification icon, such as the icon for the app.

      Returns:
      The URL of the image to display as the push-notification icon, such as the icon for the app.
    • imageSmallIconUrl

      public final String imageSmallIconUrl()

      The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.

      Returns:
      The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.
    • 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.
    • jsonBody

      public final String jsonBody()

      The JSON payload to use for a silent push notification.

      Returns:
      The JSON payload to use for a silent push notification.
    • mediaUrl

      public final String mediaUrl()

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

      Returns:
      The URL of the image or video to display in the push notification.
    • 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, displaying messages in an in-app message center, 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, displaying messages in an in-app message center, or supporting phone home functionality.
    • timeToLive

      public final Integer timeToLive()

      The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

      This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

      Returns:
      The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

      This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

    • title

      public final String title()

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

      Returns:
      The title to display above the notification message on a recipient's device.
    • url

      public final String url()

      The URL to open in a 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 a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.
    • toBuilder

      public Message.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<Message.Builder,Message>
      Returns:
      a builder for type T
    • builder

      public static Message.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Message.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.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.