#[non_exhaustive]pub struct ApnsMessage {Show 18 fields
pub apns_push_type: Option<String>,
pub action: Option<Action>,
pub badge: Option<i32>,
pub body: Option<String>,
pub category: Option<String>,
pub collapse_id: Option<String>,
pub data: Option<HashMap<String, String>>,
pub media_url: Option<String>,
pub preferred_authentication_method: Option<String>,
pub priority: Option<String>,
pub raw_content: Option<String>,
pub silent_push: Option<bool>,
pub sound: Option<String>,
pub substitutions: Option<HashMap<String, Vec<String>>>,
pub thread_id: Option<String>,
pub time_to_live: Option<i32>,
pub title: Option<String>,
pub url: Option<String>,
}Expand description
Specifies the settings for a one-time message that's sent directly to an endpoint through the APNs (Apple Push Notification service) channel.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.apns_push_type: Option<String>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.
action: Option<Action>The action to occur if the recipient taps the push notification. Valid values are:
-
OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
-
DEEP_LINK - Your app opens and displays a designated user interface in the app. This 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.
badge: Option<i32>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.
body: Option<String>The body of the notification message.
category: Option<String>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.
collapse_id: Option<String>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.
data: Option<HashMap<String, String>>The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.
media_url: Option<String>The URL of an image or video to display in the push notification.
preferred_authentication_method: Option<String>The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.
priority: Option<String>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.
raw_content: Option<String>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.
silent_push: Option<bool>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.
sound: Option<String>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.
substitutions: Option<HashMap<String, Vec<String>>>The default message variables to use in the notification message. You can override these default variables with individual address variables.
thread_id: Option<String>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.
time_to_live: Option<i32>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.
title: Option<String>The title to display above the notification message on the recipient's device.
url: Option<String>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.
Implementations§
Source§impl ApnsMessage
impl ApnsMessage
Sourcepub fn apns_push_type(&self) -> Option<&str>
pub fn apns_push_type(&self) -> Option<&str>
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.
Sourcepub fn action(&self) -> Option<&Action>
pub fn action(&self) -> Option<&Action>
The action to occur if the recipient taps the push notification. Valid values are:
-
OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.
-
DEEP_LINK - Your app opens and displays a designated user interface in the app. This 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.
Sourcepub fn badge(&self) -> Option<i32>
pub fn badge(&self) -> Option<i32>
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.
Sourcepub fn category(&self) -> Option<&str>
pub fn category(&self) -> Option<&str>
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.
Sourcepub fn collapse_id(&self) -> Option<&str>
pub fn collapse_id(&self) -> Option<&str>
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.
Sourcepub fn data(&self) -> Option<&HashMap<String, String>>
pub fn data(&self) -> Option<&HashMap<String, String>>
The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.
Sourcepub fn media_url(&self) -> Option<&str>
pub fn media_url(&self) -> Option<&str>
The URL of an image or video to display in the push notification.
Sourcepub fn preferred_authentication_method(&self) -> Option<&str>
pub fn preferred_authentication_method(&self) -> Option<&str>
The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.
Sourcepub fn priority(&self) -> Option<&str>
pub fn priority(&self) -> Option<&str>
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.
Sourcepub fn raw_content(&self) -> Option<&str>
pub fn raw_content(&self) -> Option<&str>
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.
Sourcepub fn silent_push(&self) -> Option<bool>
pub fn silent_push(&self) -> Option<bool>
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.
Sourcepub fn sound(&self) -> Option<&str>
pub fn sound(&self) -> Option<&str>
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.
Sourcepub fn substitutions(&self) -> Option<&HashMap<String, Vec<String>>>
pub fn substitutions(&self) -> Option<&HashMap<String, Vec<String>>>
The default message variables to use in the notification message. You can override these default variables with individual address variables.
Sourcepub fn thread_id(&self) -> Option<&str>
pub fn thread_id(&self) -> Option<&str>
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.
Sourcepub fn time_to_live(&self) -> Option<i32>
pub fn time_to_live(&self) -> Option<i32>
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.
Source§impl ApnsMessage
impl ApnsMessage
Sourcepub fn builder() -> ApnsMessageBuilder
pub fn builder() -> ApnsMessageBuilder
Creates a new builder-style object to manufacture ApnsMessage.
Trait Implementations§
Source§impl Clone for ApnsMessage
impl Clone for ApnsMessage
Source§fn clone(&self) -> ApnsMessage
fn clone(&self) -> ApnsMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ApnsMessage
impl Debug for ApnsMessage
Source§impl PartialEq for ApnsMessage
impl PartialEq for ApnsMessage
Source§fn eq(&self, other: &ApnsMessage) -> bool
fn eq(&self, other: &ApnsMessage) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ApnsMessage
Auto Trait Implementations§
impl Freeze for ApnsMessage
impl RefUnwindSafe for ApnsMessage
impl Send for ApnsMessage
impl Sync for ApnsMessage
impl Unpin for ApnsMessage
impl UnsafeUnpin for ApnsMessage
impl UnwindSafe for ApnsMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);