- Avatar Stack
Click below to play with Ably's Avatar Stack implementation and to browse through the code that powers it. You can test the demo in realtime, on multiple browser windows/devices, or with a friend.
An Avatar Stack visually represents users who are connected in a digital space. It can be a useful feature for creating shared experiences online.
Avatar Stacks typically also include information about user connection state such as online, offline and last seen information which helps to understand recent activity.
You can incorporate more functionality within your Avatar Stack such as:
Displaying user profile information including username, name, status, description
Avatar customisation with the ability for users to include a profile picture, initials etc.
Ably has simple yet powerful APIs to help you effortlessly build and implement an Avatar Stack to your realtime application.
Channel is the unit of distribution of messages. Messages can be anything and a channel can represent a chat room, direct messaging, a virtual event etc. Users or their devices can connect to a specific channel. The Avatar Stack is not related to messages in a channel, but the digital place where an Avatar Stack can be used is the channel itself.
Presence allows you to automatically track who is present in a channel. This feature is used to update the Avatar Stack when users or their devices connect or disconnect from a channel. This provides visibility of user activity in realtime.
Some key methods to help you get started are:
History provides access to historical messages, including presence events for up to 2 minutes. This can be used to see who has disconnected from the channel. This enables the Avatar Stack to see who is offline and to show when the user was last seen.
presence.history- to get a paginated history of presence events
You'll need to do the following to get started with adding an Avatar Stack to your application.
Implement a UI for the Avatar Stack
Implement behaviour for the Avatar Stack
Manage storage for user information in a datastore or similar