api.ApplicationRealtime(appID) ouvre un flux Server-Sent Events et renvoie un *rest.RealtimeStream. Itérez-le avec stream.Next() jusqu’à io.EOF.
Consommer le flux
Faites toujours defer stream.Close() — un flux non fermé garde occupé l’un des créneaux de connexion de votre compte.
Le flux émet deux types de trames :
- Événements système — messages de cycle de vie de la connexion :
REALTIME_CONNECTING, REALTIME_TIMEOUT, REALTIME_DISCONNECTED, REALTIME_RECONNECT et REALTIME_ERROR.
- Événements
message — la charge utile de l’application. Data est opaque pour le SDK, généralement du JSON — désérialisez-le vous-même :
Limites de connexion
Un même compte peut garder au plus 5 connexions simultanées ouvertes, et chaque connexion dure jusqu’à 10 minutes (son TTL). Lorsque le TTL est atteint, le flux se termine par io.EOF — reconnectez-vous en boucle pour rester abonné.
Annulation
Attachez un context.Context avec rest.WithContext pour arrêter le flux de l’extérieur :