api.ApplicationRealtime(appID) abre un stream de Server-Sent Events y devuelve un *rest.RealtimeStream. Itéralo con stream.Next() hasta io.EOF.
Consumo del stream
Usa siempre defer stream.Close() — un stream sin cerrar mantiene ocupado uno de los slots de conexión de tu cuenta.
El stream emite dos tipos de frames:
- Eventos de sistema — mensajes del ciclo de vida de la conexión:
REALTIME_CONNECTING, REALTIME_TIMEOUT, REALTIME_DISCONNECTED, REALTIME_RECONNECT y REALTIME_ERROR.
- Eventos
message — el payload de la aplicación. Data es opaco para el SDK, normalmente JSON — deserialízalo tú mismo:
Límites de conexión
Una sola cuenta puede mantener como máximo 5 conexiones simultáneas abiertas, y cada conexión dura hasta 10 minutos (su TTL). Cuando se alcanza el TTL, el stream termina con io.EOF — reconecta en un bucle para mantenerte suscrito.
Cancelación
Adjunta un context.Context con rest.WithContext para detener el stream desde fuera: