Skip to main content
api.ApplicationRealtime(appID) abre um stream de Server-Sent Events e retorna um *rest.RealtimeStream. Itere sobre ele com stream.Next() até io.EOF.

Consumindo o stream

Sempre use defer stream.Close() — um stream não fechado mantém ocupado um dos slots de conexão da sua conta.

Formato do evento

O stream emite dois tipos de frames:
  • Eventos de sistema — mensagens do ciclo de vida da conexão: REALTIME_CONNECTING, REALTIME_TIMEOUT, REALTIME_DISCONNECTED, REALTIME_RECONNECT e REALTIME_ERROR.
  • Eventos message — o payload da aplicação. Data é opaco para o SDK, geralmente JSON — faça o unmarshal você mesmo:

Limites de conexão

Uma única conta pode manter no máximo 5 conexões simultâneas abertas, e cada conexão dura até 10 minutos (seu TTL). Quando o TTL é atingido, o stream encerra com io.EOF — reconecte em um loop para continuar assinando.

Cancelamento

Anexe um context.Context com rest.WithContext para encerrar o stream de fora: