1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/pinpoint/model/Action.h> 10 #include <aws/core/utils/memory/stl/AWSMap.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace Pinpoint 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Specifies the settings for a one-time message that's sent directly to an 31 * endpoint through the APNs (Apple Push Notification service) 32 * channel.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSMessage">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_PINPOINT_API APNSMessage 37 { 38 public: 39 APNSMessage(); 40 APNSMessage(Aws::Utils::Json::JsonView jsonValue); 41 APNSMessage& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 47 * - For a standard notification that's displayed on recipients' devices and 48 * prompts a recipient to interact with the notification.</p></li> 49 * <li><p>background - For a silent notification that delivers content in the 50 * background and isn't displayed on recipients' devices.</p></li> 51 * <li><p>complication - For a notification that contains update information for an 52 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 53 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 54 * notification that tells managed devices to contact the MDM server.</p></li> 55 * <li><p>voip - For a notification that provides information about an incoming 56 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 57 * apns-push-type request header when it sends the notification message to APNs. If 58 * you don't specify a value for this property, Amazon Pinpoint sets the value to 59 * alert or background automatically, based on the value that you specify for the 60 * SilentPush or RawContent property of the message.</p> <p>For more information 61 * about the apns-push-type request header, see <a 62 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 63 * Notification Requests to APNs</a> on the Apple Developer website.</p> 64 */ GetAPNSPushType()65 inline const Aws::String& GetAPNSPushType() const{ return m_aPNSPushType; } 66 67 /** 68 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 69 * - For a standard notification that's displayed on recipients' devices and 70 * prompts a recipient to interact with the notification.</p></li> 71 * <li><p>background - For a silent notification that delivers content in the 72 * background and isn't displayed on recipients' devices.</p></li> 73 * <li><p>complication - For a notification that contains update information for an 74 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 75 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 76 * notification that tells managed devices to contact the MDM server.</p></li> 77 * <li><p>voip - For a notification that provides information about an incoming 78 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 79 * apns-push-type request header when it sends the notification message to APNs. If 80 * you don't specify a value for this property, Amazon Pinpoint sets the value to 81 * alert or background automatically, based on the value that you specify for the 82 * SilentPush or RawContent property of the message.</p> <p>For more information 83 * about the apns-push-type request header, see <a 84 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 85 * Notification Requests to APNs</a> on the Apple Developer website.</p> 86 */ APNSPushTypeHasBeenSet()87 inline bool APNSPushTypeHasBeenSet() const { return m_aPNSPushTypeHasBeenSet; } 88 89 /** 90 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 91 * - For a standard notification that's displayed on recipients' devices and 92 * prompts a recipient to interact with the notification.</p></li> 93 * <li><p>background - For a silent notification that delivers content in the 94 * background and isn't displayed on recipients' devices.</p></li> 95 * <li><p>complication - For a notification that contains update information for an 96 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 97 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 98 * notification that tells managed devices to contact the MDM server.</p></li> 99 * <li><p>voip - For a notification that provides information about an incoming 100 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 101 * apns-push-type request header when it sends the notification message to APNs. If 102 * you don't specify a value for this property, Amazon Pinpoint sets the value to 103 * alert or background automatically, based on the value that you specify for the 104 * SilentPush or RawContent property of the message.</p> <p>For more information 105 * about the apns-push-type request header, see <a 106 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 107 * Notification Requests to APNs</a> on the Apple Developer website.</p> 108 */ SetAPNSPushType(const Aws::String & value)109 inline void SetAPNSPushType(const Aws::String& value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType = value; } 110 111 /** 112 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 113 * - For a standard notification that's displayed on recipients' devices and 114 * prompts a recipient to interact with the notification.</p></li> 115 * <li><p>background - For a silent notification that delivers content in the 116 * background and isn't displayed on recipients' devices.</p></li> 117 * <li><p>complication - For a notification that contains update information for an 118 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 119 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 120 * notification that tells managed devices to contact the MDM server.</p></li> 121 * <li><p>voip - For a notification that provides information about an incoming 122 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 123 * apns-push-type request header when it sends the notification message to APNs. If 124 * you don't specify a value for this property, Amazon Pinpoint sets the value to 125 * alert or background automatically, based on the value that you specify for the 126 * SilentPush or RawContent property of the message.</p> <p>For more information 127 * about the apns-push-type request header, see <a 128 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 129 * Notification Requests to APNs</a> on the Apple Developer website.</p> 130 */ SetAPNSPushType(Aws::String && value)131 inline void SetAPNSPushType(Aws::String&& value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType = std::move(value); } 132 133 /** 134 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 135 * - For a standard notification that's displayed on recipients' devices and 136 * prompts a recipient to interact with the notification.</p></li> 137 * <li><p>background - For a silent notification that delivers content in the 138 * background and isn't displayed on recipients' devices.</p></li> 139 * <li><p>complication - For a notification that contains update information for an 140 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 141 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 142 * notification that tells managed devices to contact the MDM server.</p></li> 143 * <li><p>voip - For a notification that provides information about an incoming 144 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 145 * apns-push-type request header when it sends the notification message to APNs. If 146 * you don't specify a value for this property, Amazon Pinpoint sets the value to 147 * alert or background automatically, based on the value that you specify for the 148 * SilentPush or RawContent property of the message.</p> <p>For more information 149 * about the apns-push-type request header, see <a 150 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 151 * Notification Requests to APNs</a> on the Apple Developer website.</p> 152 */ SetAPNSPushType(const char * value)153 inline void SetAPNSPushType(const char* value) { m_aPNSPushTypeHasBeenSet = true; m_aPNSPushType.assign(value); } 154 155 /** 156 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 157 * - For a standard notification that's displayed on recipients' devices and 158 * prompts a recipient to interact with the notification.</p></li> 159 * <li><p>background - For a silent notification that delivers content in the 160 * background and isn't displayed on recipients' devices.</p></li> 161 * <li><p>complication - For a notification that contains update information for an 162 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 163 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 164 * notification that tells managed devices to contact the MDM server.</p></li> 165 * <li><p>voip - For a notification that provides information about an incoming 166 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 167 * apns-push-type request header when it sends the notification message to APNs. If 168 * you don't specify a value for this property, Amazon Pinpoint sets the value to 169 * alert or background automatically, based on the value that you specify for the 170 * SilentPush or RawContent property of the message.</p> <p>For more information 171 * about the apns-push-type request header, see <a 172 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 173 * Notification Requests to APNs</a> on the Apple Developer website.</p> 174 */ WithAPNSPushType(const Aws::String & value)175 inline APNSMessage& WithAPNSPushType(const Aws::String& value) { SetAPNSPushType(value); return *this;} 176 177 /** 178 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 179 * - For a standard notification that's displayed on recipients' devices and 180 * prompts a recipient to interact with the notification.</p></li> 181 * <li><p>background - For a silent notification that delivers content in the 182 * background and isn't displayed on recipients' devices.</p></li> 183 * <li><p>complication - For a notification that contains update information for an 184 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 185 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 186 * notification that tells managed devices to contact the MDM server.</p></li> 187 * <li><p>voip - For a notification that provides information about an incoming 188 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 189 * apns-push-type request header when it sends the notification message to APNs. If 190 * you don't specify a value for this property, Amazon Pinpoint sets the value to 191 * alert or background automatically, based on the value that you specify for the 192 * SilentPush or RawContent property of the message.</p> <p>For more information 193 * about the apns-push-type request header, see <a 194 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 195 * Notification Requests to APNs</a> on the Apple Developer website.</p> 196 */ WithAPNSPushType(Aws::String && value)197 inline APNSMessage& WithAPNSPushType(Aws::String&& value) { SetAPNSPushType(std::move(value)); return *this;} 198 199 /** 200 * <p>The type of push notification to send. Valid values are:</p> <ul><li><p>alert 201 * - For a standard notification that's displayed on recipients' devices and 202 * prompts a recipient to interact with the notification.</p></li> 203 * <li><p>background - For a silent notification that delivers content in the 204 * background and isn't displayed on recipients' devices.</p></li> 205 * <li><p>complication - For a notification that contains update information for an 206 * app’s complication timeline.</p></li> <li><p>fileprovider - For a notification 207 * that signals changes to a File Provider extension.</p></li> <li><p>mdm - For a 208 * notification that tells managed devices to contact the MDM server.</p></li> 209 * <li><p>voip - For a notification that provides information about an incoming 210 * VoIP call.</p></li></ul> <p>Amazon Pinpoint specifies this value in the 211 * apns-push-type request header when it sends the notification message to APNs. If 212 * you don't specify a value for this property, Amazon Pinpoint sets the value to 213 * alert or background automatically, based on the value that you specify for the 214 * SilentPush or RawContent property of the message.</p> <p>For more information 215 * about the apns-push-type request header, see <a 216 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns">Sending 217 * Notification Requests to APNs</a> on the Apple Developer website.</p> 218 */ WithAPNSPushType(const char * value)219 inline APNSMessage& WithAPNSPushType(const char* value) { SetAPNSPushType(value); return *this;} 220 221 222 /** 223 * <p>The action to occur if the recipient taps the push notification. Valid values 224 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 225 * if it was sent to the background. This is the default action.</p></li> 226 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 227 * the app. This setting uses the deep-linking features of the iOS 228 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 229 * device opens and loads the web page at a URL that you specify.</p></li></ul> 230 */ GetAction()231 inline const Action& GetAction() const{ return m_action; } 232 233 /** 234 * <p>The action to occur if the recipient taps the push notification. Valid values 235 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 236 * if it was sent to the background. This is the default action.</p></li> 237 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 238 * the app. This setting uses the deep-linking features of the iOS 239 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 240 * device opens and loads the web page at a URL that you specify.</p></li></ul> 241 */ ActionHasBeenSet()242 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } 243 244 /** 245 * <p>The action to occur if the recipient taps the push notification. Valid values 246 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 247 * if it was sent to the background. This is the default action.</p></li> 248 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 249 * the app. This setting uses the deep-linking features of the iOS 250 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 251 * device opens and loads the web page at a URL that you specify.</p></li></ul> 252 */ SetAction(const Action & value)253 inline void SetAction(const Action& value) { m_actionHasBeenSet = true; m_action = value; } 254 255 /** 256 * <p>The action to occur if the recipient taps the push notification. Valid values 257 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 258 * if it was sent to the background. This is the default action.</p></li> 259 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 260 * the app. This setting uses the deep-linking features of the iOS 261 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 262 * device opens and loads the web page at a URL that you specify.</p></li></ul> 263 */ SetAction(Action && value)264 inline void SetAction(Action&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } 265 266 /** 267 * <p>The action to occur if the recipient taps the push notification. Valid values 268 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 269 * if it was sent to the background. This is the default action.</p></li> 270 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 271 * the app. This setting uses the deep-linking features of the iOS 272 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 273 * device opens and loads the web page at a URL that you specify.</p></li></ul> 274 */ WithAction(const Action & value)275 inline APNSMessage& WithAction(const Action& value) { SetAction(value); return *this;} 276 277 /** 278 * <p>The action to occur if the recipient taps the push notification. Valid values 279 * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app 280 * if it was sent to the background. This is the default action.</p></li> 281 * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in 282 * the app. This setting uses the deep-linking features of the iOS 283 * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's 284 * device opens and loads the web page at a URL that you specify.</p></li></ul> 285 */ WithAction(Action && value)286 inline APNSMessage& WithAction(Action&& value) { SetAction(std::move(value)); return *this;} 287 288 289 /** 290 * <p>The key that indicates whether and how to modify the badge of your app's icon 291 * when the recipient receives the push notification. If this key isn't included in 292 * the dictionary, the badge doesn't change. To remove the badge, set this value to 293 * 0.</p> 294 */ GetBadge()295 inline int GetBadge() const{ return m_badge; } 296 297 /** 298 * <p>The key that indicates whether and how to modify the badge of your app's icon 299 * when the recipient receives the push notification. If this key isn't included in 300 * the dictionary, the badge doesn't change. To remove the badge, set this value to 301 * 0.</p> 302 */ BadgeHasBeenSet()303 inline bool BadgeHasBeenSet() const { return m_badgeHasBeenSet; } 304 305 /** 306 * <p>The key that indicates whether and how to modify the badge of your app's icon 307 * when the recipient receives the push notification. If this key isn't included in 308 * the dictionary, the badge doesn't change. To remove the badge, set this value to 309 * 0.</p> 310 */ SetBadge(int value)311 inline void SetBadge(int value) { m_badgeHasBeenSet = true; m_badge = value; } 312 313 /** 314 * <p>The key that indicates whether and how to modify the badge of your app's icon 315 * when the recipient receives the push notification. If this key isn't included in 316 * the dictionary, the badge doesn't change. To remove the badge, set this value to 317 * 0.</p> 318 */ WithBadge(int value)319 inline APNSMessage& WithBadge(int value) { SetBadge(value); return *this;} 320 321 322 /** 323 * <p>The body of the notification message.</p> 324 */ GetBody()325 inline const Aws::String& GetBody() const{ return m_body; } 326 327 /** 328 * <p>The body of the notification message.</p> 329 */ BodyHasBeenSet()330 inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } 331 332 /** 333 * <p>The body of the notification message.</p> 334 */ SetBody(const Aws::String & value)335 inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } 336 337 /** 338 * <p>The body of the notification message.</p> 339 */ SetBody(Aws::String && value)340 inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } 341 342 /** 343 * <p>The body of the notification message.</p> 344 */ SetBody(const char * value)345 inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } 346 347 /** 348 * <p>The body of the notification message.</p> 349 */ WithBody(const Aws::String & value)350 inline APNSMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;} 351 352 /** 353 * <p>The body of the notification message.</p> 354 */ WithBody(Aws::String && value)355 inline APNSMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} 356 357 /** 358 * <p>The body of the notification message.</p> 359 */ WithBody(const char * value)360 inline APNSMessage& WithBody(const char* value) { SetBody(value); return *this;} 361 362 363 /** 364 * <p>The key that indicates the notification type for the push notification. This 365 * key is a value that's defined by the identifier property of one of your app's 366 * registered categories.</p> 367 */ GetCategory()368 inline const Aws::String& GetCategory() const{ return m_category; } 369 370 /** 371 * <p>The key that indicates the notification type for the push notification. This 372 * key is a value that's defined by the identifier property of one of your app's 373 * registered categories.</p> 374 */ CategoryHasBeenSet()375 inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } 376 377 /** 378 * <p>The key that indicates the notification type for the push notification. This 379 * key is a value that's defined by the identifier property of one of your app's 380 * registered categories.</p> 381 */ SetCategory(const Aws::String & value)382 inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; } 383 384 /** 385 * <p>The key that indicates the notification type for the push notification. This 386 * key is a value that's defined by the identifier property of one of your app's 387 * registered categories.</p> 388 */ SetCategory(Aws::String && value)389 inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } 390 391 /** 392 * <p>The key that indicates the notification type for the push notification. This 393 * key is a value that's defined by the identifier property of one of your app's 394 * registered categories.</p> 395 */ SetCategory(const char * value)396 inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); } 397 398 /** 399 * <p>The key that indicates the notification type for the push notification. This 400 * key is a value that's defined by the identifier property of one of your app's 401 * registered categories.</p> 402 */ WithCategory(const Aws::String & value)403 inline APNSMessage& WithCategory(const Aws::String& value) { SetCategory(value); return *this;} 404 405 /** 406 * <p>The key that indicates the notification type for the push notification. This 407 * key is a value that's defined by the identifier property of one of your app's 408 * registered categories.</p> 409 */ WithCategory(Aws::String && value)410 inline APNSMessage& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;} 411 412 /** 413 * <p>The key that indicates the notification type for the push notification. This 414 * key is a value that's defined by the identifier property of one of your app's 415 * registered categories.</p> 416 */ WithCategory(const char * value)417 inline APNSMessage& WithCategory(const char* value) { SetCategory(value); return *this;} 418 419 420 /** 421 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 422 * coalesce the messages into a single push notification instead of delivering each 423 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 424 * specifies this value in the apns-collapse-id request header when it sends the 425 * notification message to APNs.</p> 426 */ GetCollapseId()427 inline const Aws::String& GetCollapseId() const{ return m_collapseId; } 428 429 /** 430 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 431 * coalesce the messages into a single push notification instead of delivering each 432 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 433 * specifies this value in the apns-collapse-id request header when it sends the 434 * notification message to APNs.</p> 435 */ CollapseIdHasBeenSet()436 inline bool CollapseIdHasBeenSet() const { return m_collapseIdHasBeenSet; } 437 438 /** 439 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 440 * coalesce the messages into a single push notification instead of delivering each 441 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 442 * specifies this value in the apns-collapse-id request header when it sends the 443 * notification message to APNs.</p> 444 */ SetCollapseId(const Aws::String & value)445 inline void SetCollapseId(const Aws::String& value) { m_collapseIdHasBeenSet = true; m_collapseId = value; } 446 447 /** 448 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 449 * coalesce the messages into a single push notification instead of delivering each 450 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 451 * specifies this value in the apns-collapse-id request header when it sends the 452 * notification message to APNs.</p> 453 */ SetCollapseId(Aws::String && value)454 inline void SetCollapseId(Aws::String&& value) { m_collapseIdHasBeenSet = true; m_collapseId = std::move(value); } 455 456 /** 457 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 458 * coalesce the messages into a single push notification instead of delivering each 459 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 460 * specifies this value in the apns-collapse-id request header when it sends the 461 * notification message to APNs.</p> 462 */ SetCollapseId(const char * value)463 inline void SetCollapseId(const char* value) { m_collapseIdHasBeenSet = true; m_collapseId.assign(value); } 464 465 /** 466 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 467 * coalesce the messages into a single push notification instead of delivering each 468 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 469 * specifies this value in the apns-collapse-id request header when it sends the 470 * notification message to APNs.</p> 471 */ WithCollapseId(const Aws::String & value)472 inline APNSMessage& WithCollapseId(const Aws::String& value) { SetCollapseId(value); return *this;} 473 474 /** 475 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 476 * coalesce the messages into a single push notification instead of delivering each 477 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 478 * specifies this value in the apns-collapse-id request header when it sends the 479 * notification message to APNs.</p> 480 */ WithCollapseId(Aws::String && value)481 inline APNSMessage& WithCollapseId(Aws::String&& value) { SetCollapseId(std::move(value)); return *this;} 482 483 /** 484 * <p>An arbitrary identifier that, if assigned to multiple messages, APNs uses to 485 * coalesce the messages into a single push notification instead of delivering each 486 * message individually. This value can't exceed 64 bytes.</p> <p>Amazon Pinpoint 487 * specifies this value in the apns-collapse-id request header when it sends the 488 * notification message to APNs.</p> 489 */ WithCollapseId(const char * value)490 inline APNSMessage& WithCollapseId(const char* value) { SetCollapseId(value); return *this;} 491 492 493 /** 494 * <p>The JSON payload to use for a silent push notification. This payload is added 495 * to the data.pinpoint.jsonBody object of the notification.</p> 496 */ GetData()497 inline const Aws::Map<Aws::String, Aws::String>& GetData() const{ return m_data; } 498 499 /** 500 * <p>The JSON payload to use for a silent push notification. This payload is added 501 * to the data.pinpoint.jsonBody object of the notification.</p> 502 */ DataHasBeenSet()503 inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } 504 505 /** 506 * <p>The JSON payload to use for a silent push notification. This payload is added 507 * to the data.pinpoint.jsonBody object of the notification.</p> 508 */ SetData(const Aws::Map<Aws::String,Aws::String> & value)509 inline void SetData(const Aws::Map<Aws::String, Aws::String>& value) { m_dataHasBeenSet = true; m_data = value; } 510 511 /** 512 * <p>The JSON payload to use for a silent push notification. This payload is added 513 * to the data.pinpoint.jsonBody object of the notification.</p> 514 */ SetData(Aws::Map<Aws::String,Aws::String> && value)515 inline void SetData(Aws::Map<Aws::String, Aws::String>&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } 516 517 /** 518 * <p>The JSON payload to use for a silent push notification. This payload is added 519 * to the data.pinpoint.jsonBody object of the notification.</p> 520 */ WithData(const Aws::Map<Aws::String,Aws::String> & value)521 inline APNSMessage& WithData(const Aws::Map<Aws::String, Aws::String>& value) { SetData(value); return *this;} 522 523 /** 524 * <p>The JSON payload to use for a silent push notification. This payload is added 525 * to the data.pinpoint.jsonBody object of the notification.</p> 526 */ WithData(Aws::Map<Aws::String,Aws::String> && value)527 inline APNSMessage& WithData(Aws::Map<Aws::String, Aws::String>&& value) { SetData(std::move(value)); return *this;} 528 529 /** 530 * <p>The JSON payload to use for a silent push notification. This payload is added 531 * to the data.pinpoint.jsonBody object of the notification.</p> 532 */ AddData(const Aws::String & key,const Aws::String & value)533 inline APNSMessage& AddData(const Aws::String& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } 534 535 /** 536 * <p>The JSON payload to use for a silent push notification. This payload is added 537 * to the data.pinpoint.jsonBody object of the notification.</p> 538 */ AddData(Aws::String && key,const Aws::String & value)539 inline APNSMessage& AddData(Aws::String&& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } 540 541 /** 542 * <p>The JSON payload to use for a silent push notification. This payload is added 543 * to the data.pinpoint.jsonBody object of the notification.</p> 544 */ AddData(const Aws::String & key,Aws::String && value)545 inline APNSMessage& AddData(const Aws::String& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } 546 547 /** 548 * <p>The JSON payload to use for a silent push notification. This payload is added 549 * to the data.pinpoint.jsonBody object of the notification.</p> 550 */ AddData(Aws::String && key,Aws::String && value)551 inline APNSMessage& AddData(Aws::String&& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), std::move(value)); return *this; } 552 553 /** 554 * <p>The JSON payload to use for a silent push notification. This payload is added 555 * to the data.pinpoint.jsonBody object of the notification.</p> 556 */ AddData(const char * key,Aws::String && value)557 inline APNSMessage& AddData(const char* key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; } 558 559 /** 560 * <p>The JSON payload to use for a silent push notification. This payload is added 561 * to the data.pinpoint.jsonBody object of the notification.</p> 562 */ AddData(Aws::String && key,const char * value)563 inline APNSMessage& AddData(Aws::String&& key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; } 564 565 /** 566 * <p>The JSON payload to use for a silent push notification. This payload is added 567 * to the data.pinpoint.jsonBody object of the notification.</p> 568 */ AddData(const char * key,const char * value)569 inline APNSMessage& AddData(const char* key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; } 570 571 572 /** 573 * <p>The URL of an image or video to display in the push notification.</p> 574 */ GetMediaUrl()575 inline const Aws::String& GetMediaUrl() const{ return m_mediaUrl; } 576 577 /** 578 * <p>The URL of an image or video to display in the push notification.</p> 579 */ MediaUrlHasBeenSet()580 inline bool MediaUrlHasBeenSet() const { return m_mediaUrlHasBeenSet; } 581 582 /** 583 * <p>The URL of an image or video to display in the push notification.</p> 584 */ SetMediaUrl(const Aws::String & value)585 inline void SetMediaUrl(const Aws::String& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = value; } 586 587 /** 588 * <p>The URL of an image or video to display in the push notification.</p> 589 */ SetMediaUrl(Aws::String && value)590 inline void SetMediaUrl(Aws::String&& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = std::move(value); } 591 592 /** 593 * <p>The URL of an image or video to display in the push notification.</p> 594 */ SetMediaUrl(const char * value)595 inline void SetMediaUrl(const char* value) { m_mediaUrlHasBeenSet = true; m_mediaUrl.assign(value); } 596 597 /** 598 * <p>The URL of an image or video to display in the push notification.</p> 599 */ WithMediaUrl(const Aws::String & value)600 inline APNSMessage& WithMediaUrl(const Aws::String& value) { SetMediaUrl(value); return *this;} 601 602 /** 603 * <p>The URL of an image or video to display in the push notification.</p> 604 */ WithMediaUrl(Aws::String && value)605 inline APNSMessage& WithMediaUrl(Aws::String&& value) { SetMediaUrl(std::move(value)); return *this;} 606 607 /** 608 * <p>The URL of an image or video to display in the push notification.</p> 609 */ WithMediaUrl(const char * value)610 inline APNSMessage& WithMediaUrl(const char* value) { SetMediaUrl(value); return *this;} 611 612 613 /** 614 * <p>The authentication method that you want Amazon Pinpoint to use when 615 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 616 */ GetPreferredAuthenticationMethod()617 inline const Aws::String& GetPreferredAuthenticationMethod() const{ return m_preferredAuthenticationMethod; } 618 619 /** 620 * <p>The authentication method that you want Amazon Pinpoint to use when 621 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 622 */ PreferredAuthenticationMethodHasBeenSet()623 inline bool PreferredAuthenticationMethodHasBeenSet() const { return m_preferredAuthenticationMethodHasBeenSet; } 624 625 /** 626 * <p>The authentication method that you want Amazon Pinpoint to use when 627 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 628 */ SetPreferredAuthenticationMethod(const Aws::String & value)629 inline void SetPreferredAuthenticationMethod(const Aws::String& value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod = value; } 630 631 /** 632 * <p>The authentication method that you want Amazon Pinpoint to use when 633 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 634 */ SetPreferredAuthenticationMethod(Aws::String && value)635 inline void SetPreferredAuthenticationMethod(Aws::String&& value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod = std::move(value); } 636 637 /** 638 * <p>The authentication method that you want Amazon Pinpoint to use when 639 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 640 */ SetPreferredAuthenticationMethod(const char * value)641 inline void SetPreferredAuthenticationMethod(const char* value) { m_preferredAuthenticationMethodHasBeenSet = true; m_preferredAuthenticationMethod.assign(value); } 642 643 /** 644 * <p>The authentication method that you want Amazon Pinpoint to use when 645 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 646 */ WithPreferredAuthenticationMethod(const Aws::String & value)647 inline APNSMessage& WithPreferredAuthenticationMethod(const Aws::String& value) { SetPreferredAuthenticationMethod(value); return *this;} 648 649 /** 650 * <p>The authentication method that you want Amazon Pinpoint to use when 651 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 652 */ WithPreferredAuthenticationMethod(Aws::String && value)653 inline APNSMessage& WithPreferredAuthenticationMethod(Aws::String&& value) { SetPreferredAuthenticationMethod(std::move(value)); return *this;} 654 655 /** 656 * <p>The authentication method that you want Amazon Pinpoint to use when 657 * authenticating with APNs, CERTIFICATE or TOKEN.</p> 658 */ WithPreferredAuthenticationMethod(const char * value)659 inline APNSMessage& WithPreferredAuthenticationMethod(const char* value) { SetPreferredAuthenticationMethod(value); return *this;} 660 661 662 /** 663 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 664 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 665 * notification is sent immediately. This is the default value. A high priority 666 * notification should trigger an alert, play a sound, or badge your app's icon on 667 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 668 * in the apns-priority request header when it sends the notification message to 669 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 670 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 671 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 672 * value to the corresponding APNs value.</p> 673 */ GetPriority()674 inline const Aws::String& GetPriority() const{ return m_priority; } 675 676 /** 677 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 678 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 679 * notification is sent immediately. This is the default value. A high priority 680 * notification should trigger an alert, play a sound, or badge your app's icon on 681 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 682 * in the apns-priority request header when it sends the notification message to 683 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 684 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 685 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 686 * value to the corresponding APNs value.</p> 687 */ PriorityHasBeenSet()688 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } 689 690 /** 691 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 692 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 693 * notification is sent immediately. This is the default value. A high priority 694 * notification should trigger an alert, play a sound, or badge your app's icon on 695 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 696 * in the apns-priority request header when it sends the notification message to 697 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 698 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 699 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 700 * value to the corresponding APNs value.</p> 701 */ SetPriority(const Aws::String & value)702 inline void SetPriority(const Aws::String& value) { m_priorityHasBeenSet = true; m_priority = value; } 703 704 /** 705 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 706 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 707 * notification is sent immediately. This is the default value. A high priority 708 * notification should trigger an alert, play a sound, or badge your app's icon on 709 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 710 * in the apns-priority request header when it sends the notification message to 711 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 712 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 713 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 714 * value to the corresponding APNs value.</p> 715 */ SetPriority(Aws::String && value)716 inline void SetPriority(Aws::String&& value) { m_priorityHasBeenSet = true; m_priority = std::move(value); } 717 718 /** 719 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 720 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 721 * notification is sent immediately. This is the default value. A high priority 722 * notification should trigger an alert, play a sound, or badge your app's icon on 723 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 724 * in the apns-priority request header when it sends the notification message to 725 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 726 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 727 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 728 * value to the corresponding APNs value.</p> 729 */ SetPriority(const char * value)730 inline void SetPriority(const char* value) { m_priorityHasBeenSet = true; m_priority.assign(value); } 731 732 /** 733 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 734 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 735 * notification is sent immediately. This is the default value. A high priority 736 * notification should trigger an alert, play a sound, or badge your app's icon on 737 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 738 * in the apns-priority request header when it sends the notification message to 739 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 740 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 741 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 742 * value to the corresponding APNs value.</p> 743 */ WithPriority(const Aws::String & value)744 inline APNSMessage& WithPriority(const Aws::String& value) { SetPriority(value); return *this;} 745 746 /** 747 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 748 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 749 * notification is sent immediately. This is the default value. A high priority 750 * notification should trigger an alert, play a sound, or badge your app's icon on 751 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 752 * in the apns-priority request header when it sends the notification message to 753 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 754 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 755 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 756 * value to the corresponding APNs value.</p> 757 */ WithPriority(Aws::String && value)758 inline APNSMessage& WithPriority(Aws::String&& value) { SetPriority(std::move(value)); return *this;} 759 760 /** 761 * <p>para>5 - Low priority, the notification might be delayed, delivered as part 762 * of a group, or throttled.</p>/listitem> <li><p>10 - High priority, the 763 * notification is sent immediately. This is the default value. A high priority 764 * notification should trigger an alert, play a sound, or badge your app's icon on 765 * the recipient's device.</p></li>/para> <p>Amazon Pinpoint specifies this value 766 * in the apns-priority request header when it sends the notification message to 767 * APNs.</p> <p>The equivalent values for Firebase Cloud Messaging (FCM), formerly 768 * Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you 769 * specify an FCM value for this property, Amazon Pinpoint accepts and converts the 770 * value to the corresponding APNs value.</p> 771 */ WithPriority(const char * value)772 inline APNSMessage& WithPriority(const char* value) { SetPriority(value); return *this;} 773 774 775 /** 776 * <p>The raw, JSON-formatted string to use as the payload for the notification 777 * message. If specified, this value overrides all other content for the 778 * message.</p> <p>If you specify the raw content of an APNs push 779 * notification, the message payload has to include the content-available key. The 780 * value of the content-available key has to be an integer, and can only be 0 or 1. 781 * If you're sending a standard notification, set the value of content-available to 782 * 0. If you're sending a silent (background) notification, set the value of 783 * content-available to 1. Additionally, silent notification payloads can't include 784 * the alert, badge, or sound keys. For more information, see <a 785 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 786 * a Remote Notification</a> and <a 787 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 788 * Background Updates to Your App</a> on the Apple Developer website.</p> 789 */ GetRawContent()790 inline const Aws::String& GetRawContent() const{ return m_rawContent; } 791 792 /** 793 * <p>The raw, JSON-formatted string to use as the payload for the notification 794 * message. If specified, this value overrides all other content for the 795 * message.</p> <p>If you specify the raw content of an APNs push 796 * notification, the message payload has to include the content-available key. The 797 * value of the content-available key has to be an integer, and can only be 0 or 1. 798 * If you're sending a standard notification, set the value of content-available to 799 * 0. If you're sending a silent (background) notification, set the value of 800 * content-available to 1. Additionally, silent notification payloads can't include 801 * the alert, badge, or sound keys. For more information, see <a 802 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 803 * a Remote Notification</a> and <a 804 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 805 * Background Updates to Your App</a> on the Apple Developer website.</p> 806 */ RawContentHasBeenSet()807 inline bool RawContentHasBeenSet() const { return m_rawContentHasBeenSet; } 808 809 /** 810 * <p>The raw, JSON-formatted string to use as the payload for the notification 811 * message. If specified, this value overrides all other content for the 812 * message.</p> <p>If you specify the raw content of an APNs push 813 * notification, the message payload has to include the content-available key. The 814 * value of the content-available key has to be an integer, and can only be 0 or 1. 815 * If you're sending a standard notification, set the value of content-available to 816 * 0. If you're sending a silent (background) notification, set the value of 817 * content-available to 1. Additionally, silent notification payloads can't include 818 * the alert, badge, or sound keys. For more information, see <a 819 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 820 * a Remote Notification</a> and <a 821 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 822 * Background Updates to Your App</a> on the Apple Developer website.</p> 823 */ SetRawContent(const Aws::String & value)824 inline void SetRawContent(const Aws::String& value) { m_rawContentHasBeenSet = true; m_rawContent = value; } 825 826 /** 827 * <p>The raw, JSON-formatted string to use as the payload for the notification 828 * message. If specified, this value overrides all other content for the 829 * message.</p> <p>If you specify the raw content of an APNs push 830 * notification, the message payload has to include the content-available key. The 831 * value of the content-available key has to be an integer, and can only be 0 or 1. 832 * If you're sending a standard notification, set the value of content-available to 833 * 0. If you're sending a silent (background) notification, set the value of 834 * content-available to 1. Additionally, silent notification payloads can't include 835 * the alert, badge, or sound keys. For more information, see <a 836 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 837 * a Remote Notification</a> and <a 838 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 839 * Background Updates to Your App</a> on the Apple Developer website.</p> 840 */ SetRawContent(Aws::String && value)841 inline void SetRawContent(Aws::String&& value) { m_rawContentHasBeenSet = true; m_rawContent = std::move(value); } 842 843 /** 844 * <p>The raw, JSON-formatted string to use as the payload for the notification 845 * message. If specified, this value overrides all other content for the 846 * message.</p> <p>If you specify the raw content of an APNs push 847 * notification, the message payload has to include the content-available key. The 848 * value of the content-available key has to be an integer, and can only be 0 or 1. 849 * If you're sending a standard notification, set the value of content-available to 850 * 0. If you're sending a silent (background) notification, set the value of 851 * content-available to 1. Additionally, silent notification payloads can't include 852 * the alert, badge, or sound keys. For more information, see <a 853 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 854 * a Remote Notification</a> and <a 855 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 856 * Background Updates to Your App</a> on the Apple Developer website.</p> 857 */ SetRawContent(const char * value)858 inline void SetRawContent(const char* value) { m_rawContentHasBeenSet = true; m_rawContent.assign(value); } 859 860 /** 861 * <p>The raw, JSON-formatted string to use as the payload for the notification 862 * message. If specified, this value overrides all other content for the 863 * message.</p> <p>If you specify the raw content of an APNs push 864 * notification, the message payload has to include the content-available key. The 865 * value of the content-available key has to be an integer, and can only be 0 or 1. 866 * If you're sending a standard notification, set the value of content-available to 867 * 0. If you're sending a silent (background) notification, set the value of 868 * content-available to 1. Additionally, silent notification payloads can't include 869 * the alert, badge, or sound keys. For more information, see <a 870 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 871 * a Remote Notification</a> and <a 872 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 873 * Background Updates to Your App</a> on the Apple Developer website.</p> 874 */ WithRawContent(const Aws::String & value)875 inline APNSMessage& WithRawContent(const Aws::String& value) { SetRawContent(value); return *this;} 876 877 /** 878 * <p>The raw, JSON-formatted string to use as the payload for the notification 879 * message. If specified, this value overrides all other content for the 880 * message.</p> <p>If you specify the raw content of an APNs push 881 * notification, the message payload has to include the content-available key. The 882 * value of the content-available key has to be an integer, and can only be 0 or 1. 883 * If you're sending a standard notification, set the value of content-available to 884 * 0. If you're sending a silent (background) notification, set the value of 885 * content-available to 1. Additionally, silent notification payloads can't include 886 * the alert, badge, or sound keys. For more information, see <a 887 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 888 * a Remote Notification</a> and <a 889 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 890 * Background Updates to Your App</a> on the Apple Developer website.</p> 891 */ WithRawContent(Aws::String && value)892 inline APNSMessage& WithRawContent(Aws::String&& value) { SetRawContent(std::move(value)); return *this;} 893 894 /** 895 * <p>The raw, JSON-formatted string to use as the payload for the notification 896 * message. If specified, this value overrides all other content for the 897 * message.</p> <p>If you specify the raw content of an APNs push 898 * notification, the message payload has to include the content-available key. The 899 * value of the content-available key has to be an integer, and can only be 0 or 1. 900 * If you're sending a standard notification, set the value of content-available to 901 * 0. If you're sending a silent (background) notification, set the value of 902 * content-available to 1. Additionally, silent notification payloads can't include 903 * the alert, badge, or sound keys. For more information, see <a 904 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 905 * a Remote Notification</a> and <a 906 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 907 * Background Updates to Your App</a> on the Apple Developer website.</p> 908 */ WithRawContent(const char * value)909 inline APNSMessage& WithRawContent(const char* value) { SetRawContent(value); return *this;} 910 911 912 /** 913 * <p>Specifies whether the notification is a silent push notification. A silent 914 * (or background) push notification isn't displayed on recipients' devices. You 915 * can use silent push notifications to make small updates to your app, or to 916 * display messages in an in-app message center.</p> <p>Amazon Pinpoint uses this 917 * property to determine the correct value for the apns-push-type request header 918 * when it sends the notification message to APNs. If you specify a value of true 919 * for this property, Amazon Pinpoint sets the value for the apns-push-type header 920 * field to background.</p> <p>If you specify the raw content of an APNs push 921 * notification, the message payload has to include the content-available key. For 922 * silent (background) notifications, set the value of content-available to 1. 923 * Additionally, the message payload for a silent notification can't include the 924 * alert, badge, or sound keys. For more information, see <a 925 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 926 * a Remote Notification</a> and <a 927 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 928 * Background Updates to Your App</a> on the Apple Developer website.</p> <p>Apple 929 * has indicated that they will throttle "excessive" background notifications based 930 * on current traffic volumes. To prevent your notifications being throttled, Apple 931 * recommends that you send no more than 3 silent push notifications to each 932 * recipient per hour.</p> 933 */ GetSilentPush()934 inline bool GetSilentPush() const{ return m_silentPush; } 935 936 /** 937 * <p>Specifies whether the notification is a silent push notification. A silent 938 * (or background) push notification isn't displayed on recipients' devices. You 939 * can use silent push notifications to make small updates to your app, or to 940 * display messages in an in-app message center.</p> <p>Amazon Pinpoint uses this 941 * property to determine the correct value for the apns-push-type request header 942 * when it sends the notification message to APNs. If you specify a value of true 943 * for this property, Amazon Pinpoint sets the value for the apns-push-type header 944 * field to background.</p> <p>If you specify the raw content of an APNs push 945 * notification, the message payload has to include the content-available key. For 946 * silent (background) notifications, set the value of content-available to 1. 947 * Additionally, the message payload for a silent notification can't include the 948 * alert, badge, or sound keys. For more information, see <a 949 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 950 * a Remote Notification</a> and <a 951 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 952 * Background Updates to Your App</a> on the Apple Developer website.</p> <p>Apple 953 * has indicated that they will throttle "excessive" background notifications based 954 * on current traffic volumes. To prevent your notifications being throttled, Apple 955 * recommends that you send no more than 3 silent push notifications to each 956 * recipient per hour.</p> 957 */ SilentPushHasBeenSet()958 inline bool SilentPushHasBeenSet() const { return m_silentPushHasBeenSet; } 959 960 /** 961 * <p>Specifies whether the notification is a silent push notification. A silent 962 * (or background) push notification isn't displayed on recipients' devices. You 963 * can use silent push notifications to make small updates to your app, or to 964 * display messages in an in-app message center.</p> <p>Amazon Pinpoint uses this 965 * property to determine the correct value for the apns-push-type request header 966 * when it sends the notification message to APNs. If you specify a value of true 967 * for this property, Amazon Pinpoint sets the value for the apns-push-type header 968 * field to background.</p> <p>If you specify the raw content of an APNs push 969 * notification, the message payload has to include the content-available key. For 970 * silent (background) notifications, set the value of content-available to 1. 971 * Additionally, the message payload for a silent notification can't include the 972 * alert, badge, or sound keys. For more information, see <a 973 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 974 * a Remote Notification</a> and <a 975 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 976 * Background Updates to Your App</a> on the Apple Developer website.</p> <p>Apple 977 * has indicated that they will throttle "excessive" background notifications based 978 * on current traffic volumes. To prevent your notifications being throttled, Apple 979 * recommends that you send no more than 3 silent push notifications to each 980 * recipient per hour.</p> 981 */ SetSilentPush(bool value)982 inline void SetSilentPush(bool value) { m_silentPushHasBeenSet = true; m_silentPush = value; } 983 984 /** 985 * <p>Specifies whether the notification is a silent push notification. A silent 986 * (or background) push notification isn't displayed on recipients' devices. You 987 * can use silent push notifications to make small updates to your app, or to 988 * display messages in an in-app message center.</p> <p>Amazon Pinpoint uses this 989 * property to determine the correct value for the apns-push-type request header 990 * when it sends the notification message to APNs. If you specify a value of true 991 * for this property, Amazon Pinpoint sets the value for the apns-push-type header 992 * field to background.</p> <p>If you specify the raw content of an APNs push 993 * notification, the message payload has to include the content-available key. For 994 * silent (background) notifications, set the value of content-available to 1. 995 * Additionally, the message payload for a silent notification can't include the 996 * alert, badge, or sound keys. For more information, see <a 997 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification">Generating 998 * a Remote Notification</a> and <a 999 * href="https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app">Pushing 1000 * Background Updates to Your App</a> on the Apple Developer website.</p> <p>Apple 1001 * has indicated that they will throttle "excessive" background notifications based 1002 * on current traffic volumes. To prevent your notifications being throttled, Apple 1003 * recommends that you send no more than 3 silent push notifications to each 1004 * recipient per hour.</p> 1005 */ WithSilentPush(bool value)1006 inline APNSMessage& WithSilentPush(bool value) { SetSilentPush(value); return *this;} 1007 1008 1009 /** 1010 * <p>The key for the sound to play when the recipient receives the push 1011 * notification. The value for this key is the name of a sound file in your app's 1012 * main bundle or the Library/Sounds folder in your app's data container. If the 1013 * sound file can't be found or you specify default for the value, the system plays 1014 * the default alert sound.</p> 1015 */ GetSound()1016 inline const Aws::String& GetSound() const{ return m_sound; } 1017 1018 /** 1019 * <p>The key for the sound to play when the recipient receives the push 1020 * notification. The value for this key is the name of a sound file in your app's 1021 * main bundle or the Library/Sounds folder in your app's data container. If the 1022 * sound file can't be found or you specify default for the value, the system plays 1023 * the default alert sound.</p> 1024 */ SoundHasBeenSet()1025 inline bool SoundHasBeenSet() const { return m_soundHasBeenSet; } 1026 1027 /** 1028 * <p>The key for the sound to play when the recipient receives the push 1029 * notification. The value for this key is the name of a sound file in your app's 1030 * main bundle or the Library/Sounds folder in your app's data container. If the 1031 * sound file can't be found or you specify default for the value, the system plays 1032 * the default alert sound.</p> 1033 */ SetSound(const Aws::String & value)1034 inline void SetSound(const Aws::String& value) { m_soundHasBeenSet = true; m_sound = value; } 1035 1036 /** 1037 * <p>The key for the sound to play when the recipient receives the push 1038 * notification. The value for this key is the name of a sound file in your app's 1039 * main bundle or the Library/Sounds folder in your app's data container. If the 1040 * sound file can't be found or you specify default for the value, the system plays 1041 * the default alert sound.</p> 1042 */ SetSound(Aws::String && value)1043 inline void SetSound(Aws::String&& value) { m_soundHasBeenSet = true; m_sound = std::move(value); } 1044 1045 /** 1046 * <p>The key for the sound to play when the recipient receives the push 1047 * notification. The value for this key is the name of a sound file in your app's 1048 * main bundle or the Library/Sounds folder in your app's data container. If the 1049 * sound file can't be found or you specify default for the value, the system plays 1050 * the default alert sound.</p> 1051 */ SetSound(const char * value)1052 inline void SetSound(const char* value) { m_soundHasBeenSet = true; m_sound.assign(value); } 1053 1054 /** 1055 * <p>The key for the sound to play when the recipient receives the push 1056 * notification. The value for this key is the name of a sound file in your app's 1057 * main bundle or the Library/Sounds folder in your app's data container. If the 1058 * sound file can't be found or you specify default for the value, the system plays 1059 * the default alert sound.</p> 1060 */ WithSound(const Aws::String & value)1061 inline APNSMessage& WithSound(const Aws::String& value) { SetSound(value); return *this;} 1062 1063 /** 1064 * <p>The key for the sound to play when the recipient receives the push 1065 * notification. The value for this key is the name of a sound file in your app's 1066 * main bundle or the Library/Sounds folder in your app's data container. If the 1067 * sound file can't be found or you specify default for the value, the system plays 1068 * the default alert sound.</p> 1069 */ WithSound(Aws::String && value)1070 inline APNSMessage& WithSound(Aws::String&& value) { SetSound(std::move(value)); return *this;} 1071 1072 /** 1073 * <p>The key for the sound to play when the recipient receives the push 1074 * notification. The value for this key is the name of a sound file in your app's 1075 * main bundle or the Library/Sounds folder in your app's data container. If the 1076 * sound file can't be found or you specify default for the value, the system plays 1077 * the default alert sound.</p> 1078 */ WithSound(const char * value)1079 inline APNSMessage& WithSound(const char* value) { SetSound(value); return *this;} 1080 1081 1082 /** 1083 * <p>The default message variables to use in the notification message. You can 1084 * override these default variables with individual address variables.</p> 1085 */ GetSubstitutions()1086 inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetSubstitutions() const{ return m_substitutions; } 1087 1088 /** 1089 * <p>The default message variables to use in the notification message. You can 1090 * override these default variables with individual address variables.</p> 1091 */ SubstitutionsHasBeenSet()1092 inline bool SubstitutionsHasBeenSet() const { return m_substitutionsHasBeenSet; } 1093 1094 /** 1095 * <p>The default message variables to use in the notification message. You can 1096 * override these default variables with individual address variables.</p> 1097 */ SetSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)1098 inline void SetSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_substitutionsHasBeenSet = true; m_substitutions = value; } 1099 1100 /** 1101 * <p>The default message variables to use in the notification message. You can 1102 * override these default variables with individual address variables.</p> 1103 */ SetSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)1104 inline void SetSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_substitutionsHasBeenSet = true; m_substitutions = std::move(value); } 1105 1106 /** 1107 * <p>The default message variables to use in the notification message. You can 1108 * override these default variables with individual address variables.</p> 1109 */ WithSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)1110 inline APNSMessage& WithSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetSubstitutions(value); return *this;} 1111 1112 /** 1113 * <p>The default message variables to use in the notification message. You can 1114 * override these default variables with individual address variables.</p> 1115 */ WithSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)1116 inline APNSMessage& WithSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetSubstitutions(std::move(value)); return *this;} 1117 1118 /** 1119 * <p>The default message variables to use in the notification message. You can 1120 * override these default variables with individual address variables.</p> 1121 */ AddSubstitutions(const Aws::String & key,const Aws::Vector<Aws::String> & value)1122 inline APNSMessage& AddSubstitutions(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } 1123 1124 /** 1125 * <p>The default message variables to use in the notification message. You can 1126 * override these default variables with individual address variables.</p> 1127 */ AddSubstitutions(Aws::String && key,const Aws::Vector<Aws::String> & value)1128 inline APNSMessage& AddSubstitutions(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), value); return *this; } 1129 1130 /** 1131 * <p>The default message variables to use in the notification message. You can 1132 * override these default variables with individual address variables.</p> 1133 */ AddSubstitutions(const Aws::String & key,Aws::Vector<Aws::String> && value)1134 inline APNSMessage& AddSubstitutions(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } 1135 1136 /** 1137 * <p>The default message variables to use in the notification message. You can 1138 * override these default variables with individual address variables.</p> 1139 */ AddSubstitutions(Aws::String && key,Aws::Vector<Aws::String> && value)1140 inline APNSMessage& AddSubstitutions(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), std::move(value)); return *this; } 1141 1142 /** 1143 * <p>The default message variables to use in the notification message. You can 1144 * override these default variables with individual address variables.</p> 1145 */ AddSubstitutions(const char * key,Aws::Vector<Aws::String> && value)1146 inline APNSMessage& AddSubstitutions(const char* key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } 1147 1148 /** 1149 * <p>The default message variables to use in the notification message. You can 1150 * override these default variables with individual address variables.</p> 1151 */ AddSubstitutions(const char * key,const Aws::Vector<Aws::String> & value)1152 inline APNSMessage& AddSubstitutions(const char* key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } 1153 1154 1155 /** 1156 * <p>The key that represents your app-specific identifier for grouping 1157 * notifications. If you provide a Notification Content app extension, you can use 1158 * this value to group your notifications together.</p> 1159 */ GetThreadId()1160 inline const Aws::String& GetThreadId() const{ return m_threadId; } 1161 1162 /** 1163 * <p>The key that represents your app-specific identifier for grouping 1164 * notifications. If you provide a Notification Content app extension, you can use 1165 * this value to group your notifications together.</p> 1166 */ ThreadIdHasBeenSet()1167 inline bool ThreadIdHasBeenSet() const { return m_threadIdHasBeenSet; } 1168 1169 /** 1170 * <p>The key that represents your app-specific identifier for grouping 1171 * notifications. If you provide a Notification Content app extension, you can use 1172 * this value to group your notifications together.</p> 1173 */ SetThreadId(const Aws::String & value)1174 inline void SetThreadId(const Aws::String& value) { m_threadIdHasBeenSet = true; m_threadId = value; } 1175 1176 /** 1177 * <p>The key that represents your app-specific identifier for grouping 1178 * notifications. If you provide a Notification Content app extension, you can use 1179 * this value to group your notifications together.</p> 1180 */ SetThreadId(Aws::String && value)1181 inline void SetThreadId(Aws::String&& value) { m_threadIdHasBeenSet = true; m_threadId = std::move(value); } 1182 1183 /** 1184 * <p>The key that represents your app-specific identifier for grouping 1185 * notifications. If you provide a Notification Content app extension, you can use 1186 * this value to group your notifications together.</p> 1187 */ SetThreadId(const char * value)1188 inline void SetThreadId(const char* value) { m_threadIdHasBeenSet = true; m_threadId.assign(value); } 1189 1190 /** 1191 * <p>The key that represents your app-specific identifier for grouping 1192 * notifications. If you provide a Notification Content app extension, you can use 1193 * this value to group your notifications together.</p> 1194 */ WithThreadId(const Aws::String & value)1195 inline APNSMessage& WithThreadId(const Aws::String& value) { SetThreadId(value); return *this;} 1196 1197 /** 1198 * <p>The key that represents your app-specific identifier for grouping 1199 * notifications. If you provide a Notification Content app extension, you can use 1200 * this value to group your notifications together.</p> 1201 */ WithThreadId(Aws::String && value)1202 inline APNSMessage& WithThreadId(Aws::String&& value) { SetThreadId(std::move(value)); return *this;} 1203 1204 /** 1205 * <p>The key that represents your app-specific identifier for grouping 1206 * notifications. If you provide a Notification Content app extension, you can use 1207 * this value to group your notifications together.</p> 1208 */ WithThreadId(const char * value)1209 inline APNSMessage& WithThreadId(const char* value) { SetThreadId(value); return *this;} 1210 1211 1212 /** 1213 * <p>The amount of time, in seconds, that APNs should store and attempt to deliver 1214 * the push notification, if the service is unable to deliver the notification the 1215 * first time. If this value is 0, APNs treats the notification as if it expires 1216 * immediately and the service doesn't store or try to deliver the notification 1217 * again.</p> <p>Amazon Pinpoint specifies this value in the apns-expiration 1218 * request header when it sends the notification message to APNs.</p> 1219 */ GetTimeToLive()1220 inline int GetTimeToLive() const{ return m_timeToLive; } 1221 1222 /** 1223 * <p>The amount of time, in seconds, that APNs should store and attempt to deliver 1224 * the push notification, if the service is unable to deliver the notification the 1225 * first time. If this value is 0, APNs treats the notification as if it expires 1226 * immediately and the service doesn't store or try to deliver the notification 1227 * again.</p> <p>Amazon Pinpoint specifies this value in the apns-expiration 1228 * request header when it sends the notification message to APNs.</p> 1229 */ TimeToLiveHasBeenSet()1230 inline bool TimeToLiveHasBeenSet() const { return m_timeToLiveHasBeenSet; } 1231 1232 /** 1233 * <p>The amount of time, in seconds, that APNs should store and attempt to deliver 1234 * the push notification, if the service is unable to deliver the notification the 1235 * first time. If this value is 0, APNs treats the notification as if it expires 1236 * immediately and the service doesn't store or try to deliver the notification 1237 * again.</p> <p>Amazon Pinpoint specifies this value in the apns-expiration 1238 * request header when it sends the notification message to APNs.</p> 1239 */ SetTimeToLive(int value)1240 inline void SetTimeToLive(int value) { m_timeToLiveHasBeenSet = true; m_timeToLive = value; } 1241 1242 /** 1243 * <p>The amount of time, in seconds, that APNs should store and attempt to deliver 1244 * the push notification, if the service is unable to deliver the notification the 1245 * first time. If this value is 0, APNs treats the notification as if it expires 1246 * immediately and the service doesn't store or try to deliver the notification 1247 * again.</p> <p>Amazon Pinpoint specifies this value in the apns-expiration 1248 * request header when it sends the notification message to APNs.</p> 1249 */ WithTimeToLive(int value)1250 inline APNSMessage& WithTimeToLive(int value) { SetTimeToLive(value); return *this;} 1251 1252 1253 /** 1254 * <p>The title to display above the notification message on the recipient's 1255 * device.</p> 1256 */ GetTitle()1257 inline const Aws::String& GetTitle() const{ return m_title; } 1258 1259 /** 1260 * <p>The title to display above the notification message on the recipient's 1261 * device.</p> 1262 */ TitleHasBeenSet()1263 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } 1264 1265 /** 1266 * <p>The title to display above the notification message on the recipient's 1267 * device.</p> 1268 */ SetTitle(const Aws::String & value)1269 inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } 1270 1271 /** 1272 * <p>The title to display above the notification message on the recipient's 1273 * device.</p> 1274 */ SetTitle(Aws::String && value)1275 inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } 1276 1277 /** 1278 * <p>The title to display above the notification message on the recipient's 1279 * device.</p> 1280 */ SetTitle(const char * value)1281 inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } 1282 1283 /** 1284 * <p>The title to display above the notification message on the recipient's 1285 * device.</p> 1286 */ WithTitle(const Aws::String & value)1287 inline APNSMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} 1288 1289 /** 1290 * <p>The title to display above the notification message on the recipient's 1291 * device.</p> 1292 */ WithTitle(Aws::String && value)1293 inline APNSMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} 1294 1295 /** 1296 * <p>The title to display above the notification message on the recipient's 1297 * device.</p> 1298 */ WithTitle(const char * value)1299 inline APNSMessage& WithTitle(const char* value) { SetTitle(value); return *this;} 1300 1301 1302 /** 1303 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1304 * taps the push notification and the value of the Action property is URL.</p> 1305 */ GetUrl()1306 inline const Aws::String& GetUrl() const{ return m_url; } 1307 1308 /** 1309 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1310 * taps the push notification and the value of the Action property is URL.</p> 1311 */ UrlHasBeenSet()1312 inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } 1313 1314 /** 1315 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1316 * taps the push notification and the value of the Action property is URL.</p> 1317 */ SetUrl(const Aws::String & value)1318 inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } 1319 1320 /** 1321 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1322 * taps the push notification and the value of the Action property is URL.</p> 1323 */ SetUrl(Aws::String && value)1324 inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } 1325 1326 /** 1327 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1328 * taps the push notification and the value of the Action property is URL.</p> 1329 */ SetUrl(const char * value)1330 inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } 1331 1332 /** 1333 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1334 * taps the push notification and the value of the Action property is URL.</p> 1335 */ WithUrl(const Aws::String & value)1336 inline APNSMessage& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} 1337 1338 /** 1339 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1340 * taps the push notification and the value of the Action property is URL.</p> 1341 */ WithUrl(Aws::String && value)1342 inline APNSMessage& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} 1343 1344 /** 1345 * <p>The URL to open in the recipient's default mobile browser, if a recipient 1346 * taps the push notification and the value of the Action property is URL.</p> 1347 */ WithUrl(const char * value)1348 inline APNSMessage& WithUrl(const char* value) { SetUrl(value); return *this;} 1349 1350 private: 1351 1352 Aws::String m_aPNSPushType; 1353 bool m_aPNSPushTypeHasBeenSet; 1354 1355 Action m_action; 1356 bool m_actionHasBeenSet; 1357 1358 int m_badge; 1359 bool m_badgeHasBeenSet; 1360 1361 Aws::String m_body; 1362 bool m_bodyHasBeenSet; 1363 1364 Aws::String m_category; 1365 bool m_categoryHasBeenSet; 1366 1367 Aws::String m_collapseId; 1368 bool m_collapseIdHasBeenSet; 1369 1370 Aws::Map<Aws::String, Aws::String> m_data; 1371 bool m_dataHasBeenSet; 1372 1373 Aws::String m_mediaUrl; 1374 bool m_mediaUrlHasBeenSet; 1375 1376 Aws::String m_preferredAuthenticationMethod; 1377 bool m_preferredAuthenticationMethodHasBeenSet; 1378 1379 Aws::String m_priority; 1380 bool m_priorityHasBeenSet; 1381 1382 Aws::String m_rawContent; 1383 bool m_rawContentHasBeenSet; 1384 1385 bool m_silentPush; 1386 bool m_silentPushHasBeenSet; 1387 1388 Aws::String m_sound; 1389 bool m_soundHasBeenSet; 1390 1391 Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_substitutions; 1392 bool m_substitutionsHasBeenSet; 1393 1394 Aws::String m_threadId; 1395 bool m_threadIdHasBeenSet; 1396 1397 int m_timeToLive; 1398 bool m_timeToLiveHasBeenSet; 1399 1400 Aws::String m_title; 1401 bool m_titleHasBeenSet; 1402 1403 Aws::String m_url; 1404 bool m_urlHasBeenSet; 1405 }; 1406 1407 } // namespace Model 1408 } // namespace Pinpoint 1409 } // namespace Aws 1410