Applications send many types of notifications. For example, a social network sends
notifications for friendship requests, comments on a post, or a friend's upcoming birthday.
In MagicBell, these are a notification category
. The category primitive allows you to
- Offer granular preferences to users so they can enable/disable notifications per category and channel.
- Select notification template per channel.
- Customize delivery rules such as delivery channels and delays between them.
- Offer
Topic Subscriptions
at a category level - Split the Notification Inbox into multiple tabs. See an example on the playground
Creating a notification with a category
When creating a broadcast, you can set a category in the
broadcast.category
parameter. A category must contain less than 256
characters and should not contain spaces.
{
"broadcast": {
"title": "Join the September webinar",
"category": "annoucement",
"recipients": [{
"topic": {
"subscribers": true
}
}]
}
}
Creating categories
To create a category, simply pass the desired category into the broadcast.category
parameter. No additional action is needed!
You can also create/update/delete categories from the dashboard by visiting the Categories tab.
Controlling delivery channels
By default, notifications are delivered to all the channels configured for the project. However, you can control the sequence and timing of notifications per category in the Category>Smart Delivery tab:
For example, in a Google docs-like application, you may send the page updated
notification only in-app, not via email or mobile push. To accomplish this in
MagicBell, you can use the category update
and disable email and
mobile-push channels for this category.
End-user notification preference management
User Notification preferences can be set per channel and category. For example, in the
the screenshot below, the preference labels are derived from two categories -
new_message
, and new_invoice
:
If you build a custom UI or integrate these preferences into your existing settings screen, you can use the notification preferences API endpoint.