Notification Tray
Last updated
Last updated
Notification Tray is currently in Private Beta. Please submit your request to Amity Help Center to enable this feature. It will take approximately 5 business days to process your request.
The notification tray service is designed to automatically create and group notification records in a notification tray separated by user. The main function of this service is to provide the notification history for each user.
Here's an example of a simple notification tray that we have customized with this service. As shown in the picture, the Notification Tray contains a history of notifications displayed as rows of notification records. Each notification record contains details about a particular notification, including a list of the actors who performed the action, the action performed (verb) and the target of the action (target).
A notification record consists of actors, a verb and a target - for example:
John Doe and 3 others commented on Sarah Janes's Post
Actors: John Doe and 3 other users
Verb: comment
Target: Sarah Jane's Post
Notification Tray automatically groups events with the same verb and target together and aggregate list of actors into the same Notification Record.
By default, the notification tray displays up to 10 notification records per page, sorted from newest to oldest, using the date of the last update as a reference. All notification records are stored for 90 days from the last update.
Each notification record displays up to 3 actor names, sorted by the date of record activity, except for mentions. They won't be grouped but shown individually.
ImageUrl of a notification record is the profile image of the latest actor who acts on the target.
The notification record expires 90 days after the timestamp of the lastUpdate
and is then deleted from Notification Tray after expiring.
When a user leaves a community, the user's notification records are not updated with the target associated with the community. When the user rejoins a community, the notification records are updated again, but events that happen during the time the user left the community are not retroactively reflected in the record.
The following table shows supported scenarios and Tray Message that is recorded into Notification Record
Target Type | Verb | Scenario | Tray Message | Notification Target |
---|---|---|---|---|
Post | post | A create post on community |
| Community's members |
A,B create post on community |
| Community's members | ||
A,B,C,D create post on community |
| Community's members | ||
Comment | comment | B comment on A’s post | User Feed: | Post owner (User A) |
B,C comment on A’s post | User Feed:
| Post owner (User A) | ||
B,C,D,E comment on A’s post | User Feed:
| Post owner (User A) | ||
Reply | mentreply | B reply on A’s comment | User Feed: | Comment owner (User A) |
B, C reply on A’s comment | User Feed:
| Comment owner (User A) | ||
B, C, D, E reply on A’s comment | User Feed:
| Comment owner (User A) | ||
Reaction | reaction/mentreact | B react on A’s post/comment | User Feed: | Post/Comment owner (User A) |
B,C react on A’s post/comment | User Feed: | Post/Comment owner (User A) | ||
B,C,D,E react on A’s post/comment | User Feed: | Post/Comment owner (User A) | ||
Mention | mention | A mentioned B on A post/comment in a community |
| User B |
A mentioned B on A post/comment in a user feed |
| User B |
The notification tray supports 2 reading levels as follows:
Last Read: Update the last read timestamp of the user. This is used to update the total unread count of notification records.
Has Read: Flag on each individual notification record that shows whether the user has explicitly read or click the notification record. This is represented as hasRead
value inside each notification record JSON and can be used to display 'unread dot' on each notification record on Notification Tray.
When a user changes their display name, the actor's name in Tray Message is not updated.
Notification Tray currently does not support
Post on user feed
Grouping mention into one record
Customization of description
is not supported. If customization / localization of notification records is needed we recommend constructing the message at the frontend as notification records already contain all the information needed.
Don't worry, Version 2 can still be used, but it won't support the mention feature. So, we highly recommend migrating to v3, and here is the list of changes needed to use Version 3!
Breaking Change | Version 2 | Version 3 |
---|---|---|
Pagination | ?page=1 | ?startAfter=1692248943383 |
Response data |
Request has succeeded
Request has succeeded.
Request has succeeded
Request has succeeded.
Notification Total Unread Count
Notification history JSON
Show how many pages user have.
Show the next page timestamp.
Marked all the records as read