Skip to content

Appendix K: Distribution Channels

A Distribution Channel is a method for delivering notifications.

NameType CodeDescription
APNSPush.APNsPush notifications sent to Apple Push Notification Service.
DebugDebugNotifications that are only logged. For testing purposes only.
EmailEmailEmail notifications sent to an email address.
FCMPush.FCMPush notifications sent to Google Firebase Cloud Messaging.
SMSSMSSMS notifications to a phone number.
Web PushPush.WebPush notifications sent to a specific Web Browser.

Each method may have settings available for both the Notification Channel and the Notification Source, potentially with metadata required to configure a Channel.

Type: Push.APNs

Supports push notifications sent to Apple Push Notification Service. For use with iOS and other Apple devices.

Each instance of this channel will push to a specific device and application.

Type: Email

Supports email notifications sent to an email address.

No metadata.

NameTypeExpectDescription
emailStringAlwaysThe email address to deliver to.
nameStringOptionalThe display name of the recipient.
NameTypeExpectDescription
urgencyStringSometimesAn optional urgency to supply with the email. If omitted, defaults to Normal. One of: Low, Normal, High.

Type: Push.FCM

Supports push notifications sent to Google Firebase Cloud Messaging. For use with Android devices using Google Play Services.

Each instance of this channel will push to a specific device and application.

Type: Sessions

Supports notifications sent to all open application sessions for the user.

Only one of these channels is

Type: SMS

Supports SMS notifications sent to a phone number.

Type: Push.Web

Supports push notifications sent to a specific Web Browser via the Web Push standard. For use with websites and PWA’s in Chrome, Firefox, Edge, Safari, etc.

Each instance of this channel will push to a specific browser and website.

NameTypeExpectDescription
userVisibleOnlyBooleanAlwaysWhether the notifications should be visible in the target browser. Always true.
applicationServerKeyStringAlwaysA Base-64 Application Public Key as required by Web Push.

The settings for Web Push generally mirrors the subscription object provided by the browser Push API.

NameTypeExpectDescription
endpointStringAlwaysThe browser vendor’s endpoint to send push notifications to.
expirationTimeNumberSometimesAn optional expiration time after which the subscription must be renewed by the browser.
keysObjectSometimesAn optional Web Push Keys object to use for encrypting the payload. If omitted, no payload will be included in the notification.
NameTypeExpectDescription
p256dhStringAlwaysA Base64-encoded RFC5480 ECDH public key.
authStringAlwaysA Base64-encoded auth key.
NameTypeExpectDescription
ttlNumberAlwaysThe Time-To-Live, in seconds, before the notification is discarded undelivered by the push notification service. Can be zero to require immediate delivery.
urgencyStringSometimesAn optional urgency to supply to the push notification service. If omitted, defaults to Normal. One of: VeryLow, Low, Normal, High.
topicStringSometimesAn optional topic identifier to supply to the push notification service. Further notifications with this topic will overwrite previously undelivered notifications. Must meet the format requirements for the HTTP Topic header.