/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the settings for a one-time message that's sent directly to an
* endpoint through the APNs (Apple Push Notification service)
* channel.See Also:
AWS
* API Reference
The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline const Aws::String& GetAPNSPushType() const{ return m_aPNSPushType; } /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline bool APNSPushTypeHasBeenSet() const { return m_aPNSPushTypeHasBeenSet; } /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline void SetAPNSPushType(const Aws::String& value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType = value; } /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline void SetAPNSPushType(Aws::String&& value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType = std::move(value); } /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline void SetAPNSPushType(const char* value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType.assign(value); } /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline APNSMessage& WithAPNSPushType(const Aws::String& value) { SetAPNSPushType(value); return *this;} /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline APNSMessage& WithAPNSPushType(Aws::String&& value) { SetAPNSPushType(std::move(value)); return *this;} /** *The type of push notification to send. Valid values are:
alert * - For a standard notification that's displayed on recipients' devices and * prompts a recipient to interact with the notification.
background - For a silent notification that delivers content in the * background and isn't displayed on recipients' devices.
complication - For a notification that contains update information for an * app’s complication timeline.
fileprovider - For a notification * that signals changes to a File Provider extension.
mdm - For a * notification that tells managed devices to contact the MDM server.
voip - For a notification that provides information about an incoming * VoIP call.
Amazon Pinpoint specifies this value in the * apns-push-type request header when it sends the notification message to APNs. If * you don't specify a value for this property, Amazon Pinpoint sets the value to * alert or background automatically, based on the value that you specify for the * SilentPush or RawContent property of the message.
For more information * about the apns-push-type request header, see Sending * Notification Requests to APNs on the Apple Developer website.
*/ inline APNSMessage& WithAPNSPushType(const char* value) { SetAPNSPushType(value); return *this;} /** *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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
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 setting uses the deep-linking features of the iOS * platform.
URL - The default mobile browser on the recipient's * device opens and loads the web page at a URL that you specify.
The key that indicates whether and how to modify the badge of your app's icon * when the recipient receives the push notification. If this key isn't included in * the dictionary, the badge doesn't change. To remove the badge, set this value to * 0.
*/ inline int GetBadge() const{ return m_badge; } /** *The key that indicates whether and how to modify the badge of your app's icon * when the recipient receives the push notification. If this key isn't included in * the dictionary, the badge doesn't change. To remove the badge, set this value to * 0.
*/ inline bool BadgeHasBeenSet() const { return m_badgeHasBeenSet; } /** *The key that indicates whether and how to modify the badge of your app's icon * when the recipient receives the push notification. If this key isn't included in * the dictionary, the badge doesn't change. To remove the badge, set this value to * 0.
*/ inline void SetBadge(int value) { m_badgeHasBeenSet = true; m_badge = value; } /** *The key that indicates whether and how to modify the badge of your app's icon * when the recipient receives the push notification. If this key isn't included in * the dictionary, the badge doesn't change. To remove the badge, set this value to * 0.
*/ inline APNSMessage& WithBadge(int value) { SetBadge(value); return *this;} /** *The body of the notification message.
*/ inline const Aws::String& GetBody() const{ return m_body; } /** *The body of the notification message.
*/ inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } /** *The body of the notification message.
*/ inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } /** *The body of the notification message.
*/ inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } /** *The body of the notification message.
*/ inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } /** *The body of the notification message.
*/ inline APNSMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;} /** *The body of the notification message.
*/ inline APNSMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} /** *The body of the notification message.
*/ inline APNSMessage& WithBody(const char* value) { SetBody(value); return *this;} /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline const Aws::String& GetCategory() const{ return m_category; } /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; } /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); } /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline APNSMessage& WithCategory(const Aws::String& value) { SetCategory(value); return *this;} /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline APNSMessage& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;} /** *The key that indicates the notification type for the push notification. This * key is a value that's defined by the identifier property of one of your app's * registered categories.
*/ inline APNSMessage& WithCategory(const char* value) { SetCategory(value); return *this;} /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline const Aws::String& GetCollapseId() const{ return m_collapseId; } /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline bool CollapseIdHasBeenSet() const { return m_collapseIdHasBeenSet; } /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline void SetCollapseId(const Aws::String& value) { m_collapseIdHasBeenSet = true; m_collapseId = value; } /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline void SetCollapseId(Aws::String&& value) { m_collapseIdHasBeenSet = true; m_collapseId = std::move(value); } /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline void SetCollapseId(const char* value) { m_collapseIdHasBeenSet = true; m_collapseId.assign(value); } /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline APNSMessage& WithCollapseId(const Aws::String& value) { SetCollapseId(value); return *this;} /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline APNSMessage& WithCollapseId(Aws::String&& value) { SetCollapseId(std::move(value)); return *this;} /** *An arbitrary identifier that, if assigned to multiple messages, APNs uses to * coalesce the messages into a single push notification instead of delivering each * message individually. This value can't exceed 64 bytes.
Amazon Pinpoint * specifies this value in the apns-collapse-id request header when it sends the * notification message to APNs.
*/ inline APNSMessage& WithCollapseId(const char* value) { SetCollapseId(value); return *this;} /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline const Aws::MapThe JSON payload to use for 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 payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline void SetData(const Aws::MapThe JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline void SetData(Aws::MapThe JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& WithData(const Aws::MapThe JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& WithData(Aws::MapThe JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(const Aws::String& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(Aws::String&& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(const Aws::String& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(Aws::String&& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), std::move(value)); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(const char* key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(Aws::String&& key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } /** *The JSON payload to use for a silent push notification. This payload is added * to the data.pinpoint.jsonBody object of the notification.
*/ inline APNSMessage& AddData(const char* key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } /** *The URL of an image or video to display in the push notification.
*/ inline const Aws::String& GetMediaUrl() const{ return m_mediaUrl; } /** *The URL of an image or video to display in the push notification.
*/ inline bool MediaUrlHasBeenSet() const { return m_mediaUrlHasBeenSet; } /** *The URL of an image or video to display in the push notification.
*/ inline void SetMediaUrl(const Aws::String& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = value; } /** *The URL of an image or video to display in the push notification.
*/ inline void SetMediaUrl(Aws::String&& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = std::move(value); } /** *The URL of an image or video to display in the push notification.
*/ inline void SetMediaUrl(const char* value) { m_mediaUrlHasBeenSet = true; m_mediaUrl.assign(value); } /** *The URL of an image or video to display in the push notification.
*/ inline APNSMessage& WithMediaUrl(const Aws::String& value) { SetMediaUrl(value); return *this;} /** *The URL of an image or video to display in the push notification.
*/ inline APNSMessage& WithMediaUrl(Aws::String&& value) { SetMediaUrl(std::move(value)); return *this;} /** *The URL of an image or video to display in the push notification.
*/ inline APNSMessage& WithMediaUrl(const char* value) { SetMediaUrl(value); return *this;} /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline const Aws::String& GetPreferredAuthenticationMethod() const{ return m_preferredAuthenticationMethod; } /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline bool PreferredAuthenticationMethodHasBeenSet() const { return m_preferredAuthenticationMethodHasBeenSet; } /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline void SetPreferredAuthenticationMethod(const Aws::String& value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod = value; } /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline void SetPreferredAuthenticationMethod(Aws::String&& value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod = std::move(value); } /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline void SetPreferredAuthenticationMethod(const char* value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod.assign(value); } /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline APNSMessage& WithPreferredAuthenticationMethod(const Aws::String& value) { SetPreferredAuthenticationMethod(value); return *this;} /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline APNSMessage& WithPreferredAuthenticationMethod(Aws::String&& value) { SetPreferredAuthenticationMethod(std::move(value)); return *this;} /** *The authentication method that you want Amazon Pinpoint to use when * authenticating with APNs, CERTIFICATE or TOKEN.
*/ inline APNSMessage& WithPreferredAuthenticationMethod(const char* value) { SetPreferredAuthenticationMethod(value); return *this;} /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline const Aws::String& GetPriority() const{ return m_priority; } /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline void SetPriority(const Aws::String& value) { m_priorityHasBeenSet = true; m_priority = value; } /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline void SetPriority(Aws::String&& value) { m_priorityHasBeenSet = true; m_priority = std::move(value); } /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline void SetPriority(const char* value) { m_priorityHasBeenSet = true; m_priority.assign(value); } /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline APNSMessage& WithPriority(const Aws::String& value) { SetPriority(value); return *this;} /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline APNSMessage& WithPriority(Aws::String&& value) { SetPriority(std::move(value)); return *this;} /** *para>5 - Low priority, the notification might be delayed, delivered as part * of a group, or throttled.
/listitem>10 - High priority, the * notification is sent immediately. This is the default value. A high priority * notification should trigger an alert, play a sound, or badge your app's icon on * the recipient's device.
Amazon Pinpoint specifies this value * in the apns-priority request header when it sends the notification message to * APNs.
The equivalent values for Firebase Cloud Messaging (FCM), formerly * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you * specify an FCM value for this property, Amazon Pinpoint accepts and converts the * value to the corresponding APNs value.
*/ inline APNSMessage& WithPriority(const char* value) { SetPriority(value); return *this;} /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline const Aws::String& GetRawContent() const{ return m_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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline bool RawContentHasBeenSet() const { return m_rawContentHasBeenSet; } /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline void SetRawContent(const Aws::String& value) { m_rawContentHasBeenSet = true; m_rawContent = value; } /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline void SetRawContent(Aws::String&& value) { m_rawContentHasBeenSet = true; m_rawContent = std::move(value); } /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline void SetRawContent(const char* value) { m_rawContentHasBeenSet = true; m_rawContent.assign(value); } /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline APNSMessage& WithRawContent(const Aws::String& value) { SetRawContent(value); return *this;} /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline APNSMessage& WithRawContent(Aws::String&& value) { SetRawContent(std::move(value)); return *this;} /** *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.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. The * value of the content-available key has to be an integer, and can only be 0 or 1. * If you're sending a standard notification, set the value of content-available to * 0. If you're sending a silent (background) notification, set the value of * content-available to 1. Additionally, silent notification payloads can't include * the alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
*/ inline APNSMessage& WithRawContent(const char* value) { SetRawContent(value); return *this;} /** *Specifies whether the notification is a silent push notification. A silent * (or background) push notification isn't displayed on recipients' devices. You * can use silent push notifications to make small updates to your app, or to * display messages in an in-app message center.
Amazon Pinpoint uses this * property to determine the correct value for the apns-push-type request header * when it sends the notification message to APNs. If you specify a value of true * for this property, Amazon Pinpoint sets the value for the apns-push-type header * field to background.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. For * silent (background) notifications, set the value of content-available to 1. * Additionally, the message payload for a silent notification can't include the * alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
Apple * has indicated that they will throttle "excessive" background notifications based * on current traffic volumes. To prevent your notifications being throttled, Apple * recommends that you send no more than 3 silent push notifications to each * recipient per hour.
*/ inline bool GetSilentPush() const{ return m_silentPush; } /** *Specifies whether the notification is a silent push notification. A silent * (or background) push notification isn't displayed on recipients' devices. You * can use silent push notifications to make small updates to your app, or to * display messages in an in-app message center.
Amazon Pinpoint uses this * property to determine the correct value for the apns-push-type request header * when it sends the notification message to APNs. If you specify a value of true * for this property, Amazon Pinpoint sets the value for the apns-push-type header * field to background.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. For * silent (background) notifications, set the value of content-available to 1. * Additionally, the message payload for a silent notification can't include the * alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
Apple * has indicated that they will throttle "excessive" background notifications based * on current traffic volumes. To prevent your notifications being throttled, Apple * recommends that you send no more than 3 silent push notifications to each * recipient per hour.
*/ inline bool SilentPushHasBeenSet() const { return m_silentPushHasBeenSet; } /** *Specifies whether the notification is a silent push notification. A silent * (or background) push notification isn't displayed on recipients' devices. You * can use silent push notifications to make small updates to your app, or to * display messages in an in-app message center.
Amazon Pinpoint uses this * property to determine the correct value for the apns-push-type request header * when it sends the notification message to APNs. If you specify a value of true * for this property, Amazon Pinpoint sets the value for the apns-push-type header * field to background.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. For * silent (background) notifications, set the value of content-available to 1. * Additionally, the message payload for a silent notification can't include the * alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
Apple * has indicated that they will throttle "excessive" background notifications based * on current traffic volumes. To prevent your notifications being throttled, Apple * recommends that you send no more than 3 silent push notifications to each * recipient per hour.
*/ inline void SetSilentPush(bool value) { m_silentPushHasBeenSet = true; m_silentPush = value; } /** *Specifies whether the notification is a silent push notification. A silent * (or background) push notification isn't displayed on recipients' devices. You * can use silent push notifications to make small updates to your app, or to * display messages in an in-app message center.
Amazon Pinpoint uses this * property to determine the correct value for the apns-push-type request header * when it sends the notification message to APNs. If you specify a value of true * for this property, Amazon Pinpoint sets the value for the apns-push-type header * field to background.
If you specify the raw content of an APNs push * notification, the message payload has to include the content-available key. For * silent (background) notifications, set the value of content-available to 1. * Additionally, the message payload for a silent notification can't include the * alert, badge, or sound keys. For more information, see Generating * a Remote Notification and Pushing * Background Updates to Your App on the Apple Developer website.
Apple * has indicated that they will throttle "excessive" background notifications based * on current traffic volumes. To prevent your notifications being throttled, Apple * recommends that you send no more than 3 silent push notifications to each * recipient per hour.
*/ inline APNSMessage& WithSilentPush(bool value) { SetSilentPush(value); return *this;} /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline const Aws::String& GetSound() const{ return m_sound; } /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline bool SoundHasBeenSet() const { return m_soundHasBeenSet; } /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline void SetSound(const Aws::String& value) { m_soundHasBeenSet = true; m_sound = value; } /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline void SetSound(Aws::String&& value) { m_soundHasBeenSet = true; m_sound = std::move(value); } /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline void SetSound(const char* value) { m_soundHasBeenSet = true; m_sound.assign(value); } /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline APNSMessage& WithSound(const Aws::String& value) { SetSound(value); return *this;} /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline APNSMessage& WithSound(Aws::String&& value) { SetSound(std::move(value)); return *this;} /** *The key for the sound to play when the recipient receives the push * notification. The value for this key is the name of a sound file in your app's * main bundle or the Library/Sounds folder in your app's data container. If the * sound file can't be found or you specify default for the value, the system plays * the default alert sound.
*/ inline APNSMessage& WithSound(const char* value) { SetSound(value); return *this;} /** *The default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline const Aws::MapThe default message variables to use in the notification message. You can * override these 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 these default variables with individual address variables.
*/ inline void SetSubstitutions(const Aws::MapThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline void SetSubstitutions(Aws::MapThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& WithSubstitutions(const Aws::MapThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& WithSubstitutions(Aws::MapThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(const Aws::String& key, const Aws::VectorThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(Aws::String&& key, const Aws::VectorThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(const Aws::String& key, Aws::VectorThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(Aws::String&& key, Aws::VectorThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(const char* key, Aws::VectorThe default message variables to use in the notification message. You can * override these default variables with individual address variables.
*/ inline APNSMessage& AddSubstitutions(const char* key, const Aws::VectorThe key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline const Aws::String& GetThreadId() const{ return m_threadId; } /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline bool ThreadIdHasBeenSet() const { return m_threadIdHasBeenSet; } /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline void SetThreadId(const Aws::String& value) { m_threadIdHasBeenSet = true; m_threadId = value; } /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline void SetThreadId(Aws::String&& value) { m_threadIdHasBeenSet = true; m_threadId = std::move(value); } /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline void SetThreadId(const char* value) { m_threadIdHasBeenSet = true; m_threadId.assign(value); } /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline APNSMessage& WithThreadId(const Aws::String& value) { SetThreadId(value); return *this;} /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline APNSMessage& WithThreadId(Aws::String&& value) { SetThreadId(std::move(value)); return *this;} /** *The key that represents your app-specific identifier for grouping * notifications. If you provide a Notification Content app extension, you can use * this value to group your notifications together.
*/ inline APNSMessage& WithThreadId(const char* value) { SetThreadId(value); return *this;} /** *The amount of time, in seconds, that APNs should store and attempt to deliver * the push notification, if the service is unable to deliver the notification the * first time. If this value is 0, APNs treats the notification as if it expires * immediately and the service doesn't store or try to deliver the notification * again.
Amazon Pinpoint specifies this value in the apns-expiration * request header when it sends the notification message to APNs.
*/ inline int GetTimeToLive() const{ return m_timeToLive; } /** *The amount of time, in seconds, that APNs should store and attempt to deliver * the push notification, if the service is unable to deliver the notification the * first time. If this value is 0, APNs treats the notification as if it expires * immediately and the service doesn't store or try to deliver the notification * again.
Amazon Pinpoint specifies this value in the apns-expiration * request header when it sends the notification message to APNs.
*/ inline bool TimeToLiveHasBeenSet() const { return m_timeToLiveHasBeenSet; } /** *The amount of time, in seconds, that APNs should store and attempt to deliver * the push notification, if the service is unable to deliver the notification the * first time. If this value is 0, APNs treats the notification as if it expires * immediately and the service doesn't store or try to deliver the notification * again.
Amazon Pinpoint specifies this value in the apns-expiration * request header when it sends the notification message to APNs.
*/ inline void SetTimeToLive(int value) { m_timeToLiveHasBeenSet = true; m_timeToLive = value; } /** *The amount of time, in seconds, that APNs should store and attempt to deliver * the push notification, if the service is unable to deliver the notification the * first time. If this value is 0, APNs treats the notification as if it expires * immediately and the service doesn't store or try to deliver the notification * again.
Amazon Pinpoint specifies this value in the apns-expiration * request header when it sends the notification message to APNs.
*/ inline APNSMessage& WithTimeToLive(int value) { SetTimeToLive(value); return *this;} /** *The title to display above the notification message on the recipient's * device.
*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *The title to display above the notification message on the recipient's * device.
*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *The title to display above the notification message on the recipient's * device.
*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *The title to display above the notification message on the recipient's * device.
*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *The title to display above the notification message on the recipient's * device.
*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *The title to display above the notification message on the recipient's * device.
*/ inline APNSMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *The title to display above the notification message on the recipient's * device.
*/ inline APNSMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *The title to display above the notification message on the recipient's * device.
*/ inline APNSMessage& WithTitle(const char* value) { SetTitle(value); return *this;} /** *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.
*/ inline const Aws::String& GetUrl() const{ return m_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.
*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *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.
*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *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.
*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *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.
*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *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.
*/ inline APNSMessage& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *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.
*/ inline APNSMessage& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *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.
*/ inline APNSMessage& WithUrl(const char* value) { SetUrl(value); return *this;} private: Aws::String m_aPNSPushType; bool m_aPNSPushTypeHasBeenSet = false; Action m_action; bool m_actionHasBeenSet = false; int m_badge; bool m_badgeHasBeenSet = false; Aws::String m_body; bool m_bodyHasBeenSet = false; Aws::String m_category; bool m_categoryHasBeenSet = false; Aws::String m_collapseId; bool m_collapseIdHasBeenSet = false; Aws::Map