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');
});