Android Onde está o meu dados de aplicativos armazenados

Adicionando jogos guardados para o seu jogo Android

Este guia mostra como usar a API Jogos Salvos em um aplicativo Android. O API pode ser encontrado no pacote com.google.android.gms.games.snapshot.

Antes de você começar

Se você ainda não tiver feito isso, você pode achar que é útil rever os conceitos de jogo jogos salvos.

Android Onde está o meu dados de aplicativos armazenados

Antes de começar a codificar usando a API de jogos salvos:

Uma vez que o jogador é assinado e o GoogleApiClient está ligado, o jogo pode começar a usar a API de jogos salvos.

Exibindo Jogos Salvos

Você pode integrar a API Jogos Salvos onde quer que seu jogo oferece aos jogadores a opção de salvar ou restaurar o seu progresso. Seu jogo pode exibir essa opção no designado save / restore pontos ou permitir aos jogadores para salvar ou restaurar o progresso a qualquer momento.

ads

Uma vez que o jogador deve escolher a opção salvar / restaurar em seu jogo, o jogo deve levar a uma tela que pede aos jogadores para inserir informações para um novo jogo salvo ou selecione um jogo guardado existente para restaurar. Para simplificar o seu desenvolvimento, a API Jogos Salvos fornece um padrão Jogos Salvos interface de utilizador selecção (UI) que você pode usar out-of-the-box. A seleção UI Jogos Salvos permite aos jogadores criar um novo jogo salvo, visualizar detalhes sobre os jogos guardados existentes, e carregar jogos guardados anteriores.

Para abrir o padrão Jogos Salvos UI:

  1. Chamada getSelectSnapshotIntent () para obter uma intenção para o lançamento do padrão Jogos Salvos UI seleção. Na chamada de método, você pode configurar valores booleanos nos parâmetros allowAddButton e AllowDelete para indicar se o seu jogo quer a interface do usuário para fornecer botões para criar um novo jogo salvo ou excluir jogos salvos existentes.
  2. Chamada startActivityForResult () e passar essa intenção. Se a chamada for bem sucedida, o jogo exibe o UI A seleção de jogos salvos, juntamente com as opções especificadas.

O seguinte trecho mostra como abrir a interface do usuário padrão de seleção Jogos Salvos:

Se o jogador escolhe para criar um novo jogo salvo ou carregar um jogo guardado existente, a interface do usuário envia uma solicitação para serviços de jogar jogos do Google. Se o pedido for bem sucedida, o Google Play serviços de jogos retorna um objeto Snapshot representando o jogo salvo para o seu jogo através do callback onActivityResult (). Seu jogo pode substituir esse retorno de chamada para verificar se ocorreu algum erro durante a solicitação.

O seguinte trecho de código mostra uma implementação de exemplo de onActivityResult ():

Escrevendo Jogos Salvos

Para armazenar conteúdo para um jogo salvo, o jogo deve obter uma referência a um objeto Snapshot, em seguida, chamar aberta de acesso () para chegar a modificar o seu conteúdo. Você pode armazenar dados de um jogador em formato byte chamando writeBytes ().

Quando todas as modificações são feitas para o conteúdo ou metadados do jogo salvo, chamar commitAndClose () para enviar as alterações aos servidores do Google. Na chamada de método, o jogo pode associar informações adicionais para contar serviços de jogar jogos Google como apresentar este jogo salvo para os jogadores. Esta informação é representada em um objeto SnapshotMetaDataChange, que o jogo cria usando SnapshotMetadataChange.Builder.

O seguinte trecho mostra como o jogo pode confirmar as alterações para um jogo salvo:

Se o dispositivo do leitor não está ligado a uma rede quando o aplicativo chama commitAndClose (). Google Play armazena Serviços Jogos dos dados de jogos salvos localmente no dispositivo. Após a dispositivos re-ligação, o Google Play serviços de jogos sincroniza as alterações de jogos salvos em cache local para os servidores do Google.

Carregando Jogos Salvos

Para recuperar todos os jogos salvos para o jogador atualmente assinou-in, chamar o método load ().

O seu jogo também pode recuperar um jogo salvo específica através da seleção UI do jogador, como descrito na exibição de jogos salvos. O jogo salvo devolvido é representada como um instantâneo. que o seu jogo pode então abrir a ler o seu conteúdo e metadados.

Para melhorar o desempenho do seu jogo, você é incentivado a realizar o carregamento do jogo guardado como uma operação de fundo em vez de no thread principal. Uma maneira de fazer isso é usando um AsyncTask e substituir seu método doInBackground () para abrir o jogo salvo.

O seguinte trecho mostra como você pode implementar o AsyncTask para carregar um jogo salvo específica:

Lidar com conflitos de jogos salvos

Ao usar o serviço de jogos salvos no seu jogo, é possível que vários dispositivos para realizar leituras e escritas no mesmo jogo salvo. No caso em que um dispositivo perde temporariamente a sua conexão de rede e depois reconecta, isso pode causar conflitos de dados em que o jogo salvo armazenados no dispositivo local de um jogador está fora de sincronia com a versão remoto armazenadas em servidores do Google. Os serviços de jogos salvos fornece um mecanismo de resolução de conflitos que apresenta dois conjuntos de conflito jogos salvos na leitura de tempo e permite-lhe implementar uma estratégia de resolução é apropriada para o seu jogo.

Quando o Google Play serviços de jogos detecta um conflito de dados, ele notifica o seu jogo durante uma operação de abertura jogo salvo, retornando um código de status de STATUS_SNAPSHOT_CONFLICT. Neste evento, o OpenSnapshotResult fornece duas versões do jogo salvo:

  • A versão mais-up-to-date conhecido pelo Google Play serviços de jogos para ser exato; e
  • Uma versão modificada detectado em um dos dispositivos do jogador que contenha conteúdo em conflito ou metadados. Isto pode não ser o mesmo que a versão que você tentou salvar.

Seu jogo deve decidir como resolver o conflito, escolhendo uma das versões fornecidas ou mesclar os dados das duas versões de jogos salvos.

Para detectar e resolver conflitos de jogos salvos, siga estes passos:

  1. Chamada Snapshots.open (). Se STATUS_SNAPSHOT_CONFLICT é retornado, você tem um conflito de resolver.
  2. Chamada OpenSnapshotResult.getConflictId () para recuperar o ID conflito que identifica exclusivamente o conflito detectado. O seu jogo precisa esse valor para enviar um pedido de resolução de conflitos mais tarde.
  3. Chamada getConflictingSnapshot () para obter a versão modificada.
  4. Chamada getSnapshot () para obter a versão do servidor.
  5. Para resolver o conflito jogo salvo, selecione a versão que você deseja salvar para o servidor como a versão final, e passá-lo para Snapshots.resolveConflict () método.

A seguir mostra snippet e exemplo de como o jogo pode lidar com um conflito jogo salvo, selecionando o mais novo jogo guardado como a versão final para salvar:

Modificando um jogo salvo para a resolução de conflitos

Se você deseja mesclar dados dos dois jogos salvos ou modificar um instantâneo existente para salvar para o servidor como a versão final resolvido, siga estes passos:

  1. Escolha um objeto Snapshot de getConflictingSnapshot () ou getSnapshot () como sua base.
  2. Em seguida, chamar Snapshots.resolveConflict () e passar o Snapshot que você selecionou na etapa anterior. Isto armazena o instantâneo para o servidor.
  3. Chamar open () para recuperar o Snapshot que você acabou armazenado na etapa anterior. Agora faça suas modificações ao Snapshot retornado. em seguida, chamar SnapshotsmitAndClose () para fazer o upload do alterados, salvo jogo para o servidor.

Migrando a partir da API AppState

Se o seu jogo usa o Cloud API Save (AppState) para armazenar dados dos jogadores para o Google Play serviços de jogos, você deve migrar seu código para usar a API de jogos guardados o mais rapidamente possível. A tabela a seguir lista as alterações de código que você deve estar ciente de quando a migração do seu jogo:

posts relacionados

  • Onde é que o Play Store armazenar os aplicativos atualmente estou baixando? O Playstore aplicativo normalmente usa / data / local para armazenar temporariamente .apk arquivos durante o download, em seguida, instala-los de lá, ...

  • Como definir personalizado toque de notificação no Android dispositivos Android são lançados amplamente no mundo. Em dispositivos Android não há nenhuma opção fácil de configurar um costume ou toque de notificação própria ....

  • Onde o arquivo de dados de aplicativo realmente armazenados no dispositivo Android? Eu desenvolvi um aplicativo Android usando Appcelerator Titanium. Este aplicativo irá criar um arquivo em applicationDataDirectory e ...

  • O Melhor Ereader para ebooks Leitura Android no Android costumava ser apenas ok. Agora é incrível. Enquanto há abundância de aplicativos doces para leitura de livros em seu telefone ou tablet, Play Livros tem ...

  • Vídeo: Hands-on Com New Instagram Video on Não Android que era muito de uma surpresa depois de um par de relatórios deu a notícia nos dias que antecederam o evento de hoje Facebook, mas sim, eles ...