Supabase Backend as a Service · Lektion

Presence- und Broadcast-Kanäle

Gehen Sie über Tabellenänderungen hinaus: Mit Supabase Realtime Presence verfolgen Sie, wer online ist, und mit Broadcast senden Sie flüchtige Nachrichten zwischen Clients.

Lektion 4 von 413 Schritte

Presence- und Broadcast-Kanäle ist eine kostenlose Supabase Backend as a Service-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Supabase Backend as a Service-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Supabase Backend as a Service-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Two More Realtime Features

Besides Postgres change streams, Supabase Realtime offers Presence (track online users) and Broadcast (send transient messages). Neither requires a database table.

What Is Presence?

Presence lets each client share small state (like a username or cursor position) and see everyone else's state in the same channel in real time.

Creating a Channel

A channel is a named room clients join.

const room = supabase.channel('room-1', {
  config: { presence: { key: 'user-42' } }
});

Tracking Presence

After subscribing, call track to publish your state to everyone in the channel.

room.subscribe(async (status) => {
  if (status === 'SUBSCRIBED') {
    await room.track({ name: 'Ada', online_at: Date.now() });
  }
});

Reading Who Is Online

Listen for sync events and read the current presence state of all members.

room.on('presence', { event: 'sync' }, () => {
  const state = room.presenceState();
  console.log('Online:', Object.keys(state).length);
});

Join and Leave Events

Presence emits join and leave events so you can animate users appearing and disappearing.

room.on('presence', { event: 'join' }, ({ newPresences }) => {
  console.log('Joined:', newPresences.length);
});

What Is Broadcast?

Broadcast sends low-latency messages to everyone in a channel without storing them. Great for cursors, typing indicators, and game moves.

Sending a Broadcast

Use send with a custom event name and payload.

room.send({
  type: 'broadcast',
  event: 'cursor',
  payload: { x: 120, y: 80 }
});

Receiving a Broadcast

Subscribe to the same event name to handle incoming messages.

room.on('broadcast', { event: 'cursor' }, ({ payload }) => {
  console.log('Cursor at', payload.x, payload.y);
});

Cleaning Up

Always remove channels when a component unmounts to free connections.

function cleanup(channel, supabase) {
  supabase.removeChannel(channel);
  return 'removed';
}
console.log(cleanup('chan', { removeChannel: () => {} }));

Choosing the Right Tool

Use Postgres changes for persisted data, Presence for online status, and Broadcast for fast disposable messages.

Quick Check

Test your understanding of Presence and Broadcast.

Recap

You learned to track online users with Presence and send ephemeral messages with Broadcast, plus when to use each versus Postgres change streams, and to clean up channels.

Kostenlos starten

Lerne Supabase Backend as a Service mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
11
Lektionen
40

Häufig gestellte Fragen

Ist die Lektion „Presence- und Broadcast-Kanäle“ kostenlos?

Ja — der vollständige Text von „Presence- und Broadcast-Kanäle“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Supabase Backend as a Service-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Supabase Backend as a Service-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Presence- und Broadcast-Kanäle“?

Gehen Sie über Tabellenänderungen hinaus: Mit Supabase Realtime Presence verfolgen Sie, wer online ist, und mit Broadcast senden Sie flüchtige Nachrichten zwischen Clients. Du übst Supabase Backend as a Service mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Supabase Backend as a Service zu starten?

Keine Vorkenntnisse erforderlich. Supabase Backend as a Service auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Presence- und Broadcast-Kanäle“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Supabase Backend as a Service-Lektion Code schreiben und ausführen?

Ja. Jede Supabase Backend as a Service-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Realtime-Abonnements verstehen
  2. Änderungen an Tabellen abonnieren
  3. Eine Live-Chat-Funktion erstellen
  4. Presence- und Broadcast-Kanäle
← Zurück zu Supabase Backend as a Service