api.ApplicationRealtime(appID) öffnet einen Server-Sent-Events-Stream und gibt einen *rest.RealtimeStream zurück. Iteriere ihn mit stream.Next() bis io.EOF.
Den Stream konsumieren
Rufe stets defer stream.Close() auf — ein nicht geschlossener Stream hält einen der Verbindungs-Slots deines Kontos belegt.
Event-Aufbau
Der Stream emittiert zwei Arten von Frames:
- System-Events — Nachrichten zum Verbindungslebenszyklus:
REALTIME_CONNECTING, REALTIME_TIMEOUT, REALTIME_DISCONNECTED, REALTIME_RECONNECT und REALTIME_ERROR.
message-Events — das Anwendungs-Payload. Data ist für das SDK opak, üblicherweise JSON — unmarshale es selbst:
Verbindungslimits
Ein einzelnes Konto kann höchstens 5 gleichzeitige Verbindungen offen halten und jede Verbindung dauert bis zu 10 Minuten (ihre TTL). Ist die TTL erreicht, endet der Stream mit io.EOF — verbinde dich in einer Schleife neu, um abonniert zu bleiben.
Abbruch
Hänge einen context.Context mit rest.WithContext an, um den Stream von außen zu stoppen: