Skip to main content
Este artigo descreve o fluxo de sincronização em seis partes do Game Saves. Embora o comportamento possa variar um pouco dependendo da API do Game Saves específica que você usa, o fluxo geral de um salvamento iniciado pelo usuário é o mesmo. As etapas são as seguintes.
  1. Início do título
  2. Verificação de conexão
  3. Verificação de propriedade dos dados
  4. Sincronizando dados com a nuvem
  5. Loop de jogo
  6. Fim da sessão

Início do título

Quando o título é iniciado, a primeira etapa é determinar o usuário para o qual o Game Saves está sendo gerenciado. Se o usuário tiver uma sessão de jogo ativa em outro dispositivo, uma caixa de diálogo do sistema solicitará que o usuário troque de dispositivo. Se o usuário trocar, o outro dispositivo sincronizará seus dados locais mais recentes do Game Saves com o novo dispositivo. Se você quiser que os dados sejam locais e vinculados ao dispositivo, poderá usar um provedor somente de máquina. Essa opção passa um identificador de usuário null para as APIs do Game Saves. Depois que o título seleciona o usuário, ele inicializa o Game Saves com o identificador desse usuário. Durante a inicialização, o Game Saves se conecta à rede XBOX para preparar o espaço de armazenamento do usuário. Caixa de diálogo do sistema relevante: Parece que você entrou em outro dispositivo. Para obter informações sobre modelos de usuário e gerenciamento de usuários, consulte Modelos de usuário. Para obter informações sobre armazenamento, consulte Sistemas de armazenamento do Game Saves. Fluxograma da primeira etapa do processo de sincronização.

Verificação de conexão

Em seguida, o título determina se pode se conectar à rede XBOX para confirmar que a sincronização com a nuvem é possível. Se o título não conseguir se conectar, o usuário terá a opção de tentar novamente ou retomar o título no modo offline. O Game Saves pode ser executado no modo offline. Caixas de diálogo do sistema relevantes: Não foi possível sincronizar seus dados com a nuvem agora. Não foi possível obter seus dados salvos mais recentes.

Comportamento offline

Fluxograma da etapa de verificação de conexão do processo de sincronização.

Verificação de propriedade dos dados

Depois que a conexão é confirmada, o título determina se o dispositivo tem o direito de modificar os dados. Se tiver, ele poderá adquirir um bloqueio para o título. Para que um título obtenha e libere um bloqueio, ele precisa de acesso aos serviços XBOX. O título verifica se há outro dispositivo que mantém um bloqueio sobre os dados do usuário. Esse dispositivo ainda pode manter um bloqueio pelos seguintes motivos.
  • Estar desconectado da rede XBOX, o que impede o dispositivo de chamar WebReleaseLock.
  • O outro dispositivo está carregando um Game Save grande e não consegue chamar WebReleaseLock.
Se outro dispositivo mantiver o bloqueio, o usuário terá as seguintes opções.
  • Adquirir à força o bloqueio do outro dispositivo, fazendo com que o outro dispositivo perca os dados da sessão.
  • Tentar adquirir o bloqueio normalmente outra vez.
  • Cancelar a aquisição do bloqueio.
Se o usuário cancelar a aquisição do bloqueio, o título será iniciado no modo offline. Para mais cenários de perda de conexão e de bloqueio, consulte Cenários de perda de conexão e de bloqueio. Caixas de diálogo do sistema relevantes: Seu outro console XBOX está demorando muito para sincronizar com a nuvem Para obter detalhes sobre como monitorar a aquisição de bloqueios pela rede XBOX, consulte Inspecionando o tráfego de rede do Game Saves. Fluxograma da verificação de propriedade dos dados no processo de sincronização.

Sincronizando dados com a nuvem

Depois que o título adquire o bloqueio sobre os dados do usuário, ele sincroniza esses dados com a nuvem. Em seguida, o título determina se executa uma das seguintes ações:
  • Carregar os dados locais do Game Saves.
  • Baixar os dados da nuvem e atualizar os dados locais do Game Saves.
  • Não executar nenhuma ação.
  • Resolver quaisquer conflitos de dados.
O título determina isso comparando dois carimbos de data/hora.
  • Hora do salvamento local: quando este dispositivo gravou um salvamento pela última vez
  • Hora do salvamento na nuvem: quando a cópia na nuvem foi atualizada pela última vez

Os quatro resultados da sincronização

Se ocorrer o download da nuvem, uma caixa de diálogo de sincronização será exibida, Sincronizando dados para …. Se o usuário cancelar o Game Saves usando essa caixa de diálogo, o título continuará no modo offline.

Estados de alteração e de salvamento

Este cenário pressupõe que o usuário está jogando em dois dispositivos, o Dispositivo A e o Dispositivo B. Local alterado O usuário fez progresso enquanto estava offline no Dispositivo A. Por exemplo, o usuário subiu para o nível 126 no Dispositivo A sem conexão com a internet. Nuvem alterada Houve progresso carregado do Dispositivo B desde a última vez que o usuário sincronizou o Dispositivo A. Por exemplo, o usuário subiu para o nível 99 no Dispositivo B e carregou os dados para a nuvem. Ambos alterados O usuário jogou offline no Dispositivo A. O usuário também jogou no Dispositivo B desde a última vez que sincronizou o Dispositivo A. Por exemplo, o Dispositivo A está no nível 126. A nuvem está no nível 99. Se houver um conflito, o sistema solicitará que o usuário o resolva por meio de uma caixa de diálogo: Qual você deseja usar?

Atomicidade

O Game Saves é atômico no nível do contêiner (pasta). Se a pasta na nuvem incluir um blob que a pasta local correspondente não contém, o sistema tratará as duas pastas como separadas. Essa diferença cria um conflito. Fluxograma da sincronização com a nuvem no processo de sincronização.

Loop de jogo

O loop de jogo é a parte ativa da sessão de jogo. Ele começa depois que o título termina de sincronizar os dados salvos com a nuvem. Durante a sessão de jogo ativa, o título lê e grava os dados salvos localmente. Todos os dados criados ou atualizados nesse período permanecem no armazenamento local do Game Saves até que o sistema execute uma sincronização com a nuvem. O loop de jogo termina quando a sessão de jogo do usuário termina, se uma das condições a seguir for verdadeira para o console ou o PC. Uma sessão termina quando um console ou PC dispara uma alteração de estado, como suspensão, encerramento, saída ou outro evento do sistema.

Sincronização periódica com a nuvem

A cada 30 minutos de jogo, o título tenta sincronizar automaticamente com a nuvem. Esse comportamento se baseia nos cenários a seguir. Fluxograma das interações do loop de jogo com o Game Saves.

Fim da sessão

Depois que a sessão de jogo termina, o título carrega os novos dados para a nuvem. O dispositivo tenta carregar os dados para a nuvem quando tem uma conexão. Depois que os dados são carregados, o bloqueio é liberado. Para ver a liberação do bloqueio na rede XBOX para fins de depuração, consulte Inspecionando o tráfego de rede do Game Saves. Fluxograma do comportamento de fim de sessão no processo de sincronização.

Cenários de perda de conexão e de bloqueio

Os dados gravados durante a perda de conexão são armazenados no armazenamento local do Game Saves e carregados depois que a conexão é restabelecida. No entanto, se o usuário tentar usar outro dispositivo, o dispositivo atual não conseguirá liberar o bloqueio porque a conexão foi perdida. O usuário pode forçar a transferência do bloqueio para outro dispositivo. Dependendo de quando essas transferências de bloqueio ocorrem, um título pode apresentar comportamentos diferentes.

Perda de conexão antes do início do título

Quando: o usuário inicia um título sem conexão.
O título oferece ao usuário a opção de iniciar no modo offline porque não há conexão. Quando o dispositivo se reconecta à rede XBOX e a nuvem contém dados mais recentes, o título trata os dados locais como desatualizados. Nesse caso, o título encerra a sessão de jogo terminando o aplicativo com uma operação de suspensão. Caixa de diálogo do sistema relevante: Precisamos fechar este jogo ou aplicativo

Perda de conexão durante o loop de jogo

Quando: o usuário está em uma sessão de jogo ativa e o título ainda mantém o bloqueio. Em algum momento, a conexão é perdida. O título então permite que o jogo continue durante essa perda.

Perda de conexão antes do fim da sessão (encerramento ou suspensão)

Quando: o jogador sai do título ou o suspende enquanto o dispositivo está desconectado. O dispositivo ainda tem dados locais não sincronizados.

Perda de energia

A perda de energia age de forma semelhante à perda de conexão. A principal diferença é que todas as operações de salvamento que estavam ativas são perdidas.
Last modified on October 6, 2026