api.ApplicationRealtime(appID) apre uno stream Server-Sent Events e restituisce un *rest.RealtimeStream. Iteralo con stream.Next() fino a io.EOF.
Consumare lo stream
Usa sempre defer stream.Close() — uno stream non chiuso tiene occupato uno degli slot di connessione del tuo account.
Lo stream emette due tipi di frame:
- Eventi di sistema — messaggi del ciclo di vita della connessione:
REALTIME_CONNECTING, REALTIME_TIMEOUT, REALTIME_DISCONNECTED, REALTIME_RECONNECT e REALTIME_ERROR.
- Eventi
message — il payload dell’applicazione. Data è opaco per l’SDK, di solito JSON — deserializzalo tu stesso:
Limiti di connessione
Un singolo account può tenere aperte al massimo 5 connessioni simultanee, e ogni connessione dura fino a 10 minuti (il suo TTL). Al raggiungimento del TTL lo stream termina con io.EOF — riconnettiti in un loop per restare iscritto.
Cancellazione
Allega un context.Context con rest.WithContext per fermare lo stream dall’esterno: