Pular para o conteúdo principal

Subscriptions de dados e atualizações ao vivo

Última atualização: 16 de julho de 2026

Qualquer consulta de dados pode ser assinada. Isso replica os dados do servidor para o cliente exatamente no formato definido pela consulta. A primeira entrega é o objeto de dados completo. Depois disso, quando os dados mudam no servidor, um Delta é entregue imediatamente a todos os clientes inscritos.

informação

Use Subscriptions para manter uma cópia local dos dados do servidor sempre em dia por meio de Deltas reativos, com o tráfego de sincronização otimizado por JSONPatch.


Criar uma Subscription​

Uma Subscription é criada sobre um objeto de consulta.

var player = PlayServ.Model<Player>().Key(playerId);
var subscription = player.Listen();

Modelo de entrega​

A primeira mensagem entrega o objeto completo no formato da consulta.

Quando os dados mudam no servidor, os Deltas são entregues sem atraso a todos os listeners. As mudanças são aplicadas automaticamente ao objeto de dados local. Se você precisa de controle sobre esse processo, assine o Event Update.

Listen()assinarprimeiraPayload inicialobjeto completoao mudarDeltaJSONPatchaplicarCópia local atualizadadispara o Event Updatea cada nova mudança

Observar as atualizações explicitamente​

Use Wait<Update> na Subscription para tratar as atualizações quando os dados mudarem.

subscription.Wait<Update>(e => {
// Called whenever the data is updated
// e.New — the new version of the data
// e.Old — the previous version of the data
});

Otimização de transporte: JSONPatch​

Para otimizar o tráfego durante a sincronização, o PlayServ usa JSONPatch. O JSONPatch descreve as mudanças que devem ser aplicadas a um objeto de dados. Mesmo que o banco armazene os dados como key=value, a abordagem continua eficaz.


Cancelar uma Subscription​

Para cancelar uma Subscription, chame Stop().

subscription.Stop();

Restauração de Subscriptions após dessincronização da Session​

Depois de uma dessincronização da Session — quando a Session entra em Offline ou Recovering e volta para Active — todas as Subscriptions que estavam ativas no momento da dessincronização precisam ser restauradas. O SDK cuida disso automaticamente.


Próximos passos​