Pigeon v0.13.0 Pigeon.APNS.Notification
Defines APNS notification struct and convenience constructor functions.
Summary
Functions
Returns an APNS.Notification
struct with given message, device token, and
topic (optional)
Returns an APNS.Notification
struct with given message, device token,
topic, and message ID
Updates "alert"
key in push payload
Updates "badge"
key in push payload
Updates "category"
key in push payload
Sets "content-available"
flag in push payload
Puts custom data in push payload
Sets "mutable-content"
flag in push payload
Updates "sound"
key in push payload
Types
Functions
Returns an APNS.Notification
struct with given message, device token, and
topic (optional).
Push payload is constructed in the form of %{"aps" => %{"alert" => msg}}
Examples
iex> Pigeon.APNS.Notification.new("push message", "device token")
%Pigeon.APNS.Notification{
device_token: "device token",
expiration: nil,
id: nil,
payload: %{"aps" => %{"alert" => "push message"}},
topic: nil
}
Returns an APNS.Notification
struct with given message, device token,
topic, and message ID.
Push payload is constructed in the form of %{"aps" => %{"alert" => msg}}
Examples
iex> Pigeon.APNS.Notification.new("push message", "device token", "topic", "id_1234")
%Pigeon.APNS.Notification{
device_token: "device token",
expiration: nil,
id: "id_1234",
payload: %{"aps" => %{"alert" => "push message"}},
topic: "topic"
}
Updates "alert"
key in push payload.
This is the alert message displayed on the device.
Examples
iex> Pigeon.APNS.Notification.put_alert(%Pigeon.APNS.Notification{}, "push message")
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"alert" => "push message"}},
topic: nil
}
Updates "badge"
key in push payload.
This is the badge number displayed on the application.
Examples
iex> Pigeon.APNS.Notification.put_badge(%Pigeon.APNS.Notification{}, 5)
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"badge" => 5}},
topic: nil
}
Updates "category"
key in push payload.
Examples
iex> Pigeon.APNS.Notification.put_category(%Pigeon.APNS.Notification{}, "category")
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"category" => "category"}},
topic: nil
}
Sets "content-available"
flag in push payload.
Used for silent notifications. When set, ensure alert
, badge
, and sound
keys
are not configured.
Examples
iex> Pigeon.APNS.Notification.put_content_available(%Pigeon.APNS.Notification{})
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"content-available" => 1}},
topic: nil
}
Puts custom data in push payload.
Examples
iex> n = Pigeon.APNS.Notification.new("test message", "device token")
iex> Pigeon.APNS.Notification.put_custom(n, %{"custom-key" => 1234})
%Pigeon.APNS.Notification{
device_token: "device token",
expiration: nil,
id: nil,
payload: %{"aps" => %{"alert" => "test message"}, "custom-key" => 1234},
topic: nil
}
Sets "mutable-content"
flag in push payload.
Used for notification service extensions (such as displaying custom media).
Examples
iex> Pigeon.APNS.Notification.put_mutable_content(%Pigeon.APNS.Notification{})
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"mutable-content" => 1}},
topic: nil
}
Updates "sound"
key in push payload.
Used for custom notification sounds. Value should be the name of the custom sound file in the application’s binary.
Examples
iex> Pigeon.APNS.Notification.put_sound(%Pigeon.APNS.Notification{}, "custom.aiff")
%Pigeon.APNS.Notification{
device_token: nil,
expiration: nil,
id: nil,
payload: %{"aps" => %{"sound" => "custom.aiff"}},
topic: nil
}