Struct a2::request::notification::PlainNotificationBuilder
source · pub struct PlainNotificationBuilder<'a> { /* private fields */ }
Expand description
A builder to create a simple APNs notification payload.
Example
let mut builder = PlainNotificationBuilder::new("Hi there");
builder.set_badge(420);
builder.set_category("cat1");
builder.set_sound("prööt");
let payload = builder.build("device_id", Default::default())
.to_json_string().unwrap();
Implementations§
source§impl<'a> PlainNotificationBuilder<'a>
impl<'a> PlainNotificationBuilder<'a>
sourcepub fn new(body: &'a str) -> PlainNotificationBuilder<'a>
pub fn new(body: &'a str) -> PlainNotificationBuilder<'a>
Creates a new builder with the minimum amount of content.
let payload = PlainNotificationBuilder::new("a body")
.build("token", Default::default());
assert_eq!(
"{\"aps\":{\"alert\":\"a body\"}}",
&payload.to_json_string().unwrap()
);
sourcepub fn set_badge(&mut self, badge: u32) -> &mut Self
pub fn set_badge(&mut self, badge: u32) -> &mut Self
A number to show on a badge on top of the app icon.
let mut builder = PlainNotificationBuilder::new("a body");
builder.set_badge(4);
let payload = builder.build("token", Default::default());
assert_eq!(
"{\"aps\":{\"alert\":\"a body\",\"badge\":4}}",
&payload.to_json_string().unwrap()
);
sourcepub fn set_sound(&mut self, sound: &'a str) -> &mut Self
pub fn set_sound(&mut self, sound: &'a str) -> &mut Self
File name of the custom sound to play when receiving the notification.
let mut builder = PlainNotificationBuilder::new("a body");
builder.set_sound("meow");
let payload = builder.build("token", Default::default());
assert_eq!(
"{\"aps\":{\"alert\":\"a body\",\"sound\":\"meow\"}}",
&payload.to_json_string().unwrap()
);
sourcepub fn set_category(&mut self, category: &'a str) -> &mut Self
pub fn set_category(&mut self, category: &'a str) -> &mut Self
When a notification includes the category key, the system displays the actions for that category as buttons in the banner or alert interface.
let mut builder = PlainNotificationBuilder::new("a body");
builder.set_category("cat1");
let payload = builder.build("token", Default::default());
assert_eq!(
"{\"aps\":{\"alert\":\"a body\",\"category\":\"cat1\"}}",
&payload.to_json_string().unwrap()
);