Channels & Presence
Understand the different channel types and how to use presence to track users.
Public Channels
Open to anyone. Ideal for global notifications or status boards. No signing required.
name: "any-string"
Private Channels
Requires a signed subscription from your backend. Secure for 1-to-1 data.
name: "private-channel-name"
Presence Channels
Private channels that also track a roster of active members. Perfect for collab tools.
name: "presence-channel-name"
Encrypted Channels
End-to-end encrypted private channels. Payload is decrypted only at the edge client.
name: "private-encrypted-channel-name"
Presence Events
When using a presence channel, you can listen for member lifecycle events.
const channel = realtime.subscribe('presence-project-123');
// Successful subscription
channel.bind('summon:subscription_succeeded', (members) => {
console.log('Active members:', members.count);
});
// Member joins
channel.bind('summon:member_added', (member) => {
console.log(member.info.name + ' joined');
});