/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Specifies the default settings and content for a push notification that's * sent directly to an endpoint.

See Also:

AWS * API Reference

*/ class DefaultPushNotificationMessage { public: AWS_PINPOINT_API DefaultPushNotificationMessage(); AWS_PINPOINT_API DefaultPushNotificationMessage(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API DefaultPushNotificationMessage& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline const Action& GetAction() const{ return m_action; } /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline void SetAction(const Action& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline void SetAction(Action&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline DefaultPushNotificationMessage& WithAction(const Action& value) { SetAction(value); return *this;} /** *

The default 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 the * iOS and Android platforms.

  • URL - The default mobile browser on * the recipient's device opens and loads the web page at a URL that you * specify.

*/ inline DefaultPushNotificationMessage& WithAction(Action&& value) { SetAction(std::move(value)); return *this;} /** *

The default body of the notification message.

*/ inline const Aws::String& GetBody() const{ return m_body; } /** *

The default body of the notification message.

*/ inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } /** *

The default body of the notification message.

*/ inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } /** *

The default body of the notification message.

*/ inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } /** *

The default body of the notification message.

*/ inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } /** *

The default body of the notification message.

*/ inline DefaultPushNotificationMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;} /** *

The default body of the notification message.

*/ inline DefaultPushNotificationMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} /** *

The default body of the notification message.

*/ inline DefaultPushNotificationMessage& WithBody(const char* value) { SetBody(value); return *this;} /** *

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

*/ inline const Aws::Map& GetData() const{ return m_data; } /** *

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

*/ inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } /** *

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

*/ inline void SetData(const Aws::Map& value) { m_dataHasBeenSet = true; m_data = value; } /** *

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

*/ inline void SetData(Aws::Map&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } /** *

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

*/ inline DefaultPushNotificationMessage& WithData(const Aws::Map& value) { SetData(value); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& WithData(Aws::Map&& value) { SetData(std::move(value)); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& AddData(const Aws::String& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(Aws::String&& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(const Aws::String& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(Aws::String&& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(const char* key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(Aws::String&& key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddData(const char* key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } /** *

Specifies whether the default 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 delivering messages to an in-app notification center.

*/ inline bool GetSilentPush() const{ return m_silentPush; } /** *

Specifies whether the default 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 delivering messages to an in-app notification center.

*/ inline bool SilentPushHasBeenSet() const { return m_silentPushHasBeenSet; } /** *

Specifies whether the default 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 delivering messages to an in-app notification center.

*/ inline void SetSilentPush(bool value) { m_silentPushHasBeenSet = true; m_silentPush = value; } /** *

Specifies whether the default 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 delivering messages to an in-app notification center.

*/ inline DefaultPushNotificationMessage& WithSilentPush(bool value) { SetSilentPush(value); return *this;} /** *

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

*/ inline const Aws::Map>& GetSubstitutions() const{ return m_substitutions; } /** *

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

*/ inline bool SubstitutionsHasBeenSet() const { return m_substitutionsHasBeenSet; } /** *

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

*/ inline void SetSubstitutions(const Aws::Map>& value) { m_substitutionsHasBeenSet = true; m_substitutions = value; } /** *

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

*/ inline void SetSubstitutions(Aws::Map>&& value) { m_substitutionsHasBeenSet = true; m_substitutions = std::move(value); } /** *

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

*/ inline DefaultPushNotificationMessage& WithSubstitutions(const Aws::Map>& value) { SetSubstitutions(value); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& WithSubstitutions(Aws::Map>&& value) { SetSubstitutions(std::move(value)); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(const Aws::String& key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(Aws::String&& key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), value); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(const Aws::String& key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(Aws::String&& key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(const char* key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline DefaultPushNotificationMessage& AddSubstitutions(const char* key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } /** *

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

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

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

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

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

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

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

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

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

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

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

*/ inline DefaultPushNotificationMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

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

*/ inline DefaultPushNotificationMessage& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

The default 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.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

The default 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.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

The default 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.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

The default 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.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

The default 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.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

The default 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.

*/ inline DefaultPushNotificationMessage& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

The default 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.

*/ inline DefaultPushNotificationMessage& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

The default 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.

*/ inline DefaultPushNotificationMessage& WithUrl(const char* value) { SetUrl(value); return *this;} private: Action m_action; bool m_actionHasBeenSet = false; Aws::String m_body; bool m_bodyHasBeenSet = false; Aws::Map m_data; bool m_dataHasBeenSet = false; bool m_silentPush; bool m_silentPushHasBeenSet = false; Aws::Map> m_substitutions; bool m_substitutionsHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws