Diretrizes de dados de aplicativo em roaming

Applies to Windows and Windows Phone

Ao armazenar dados de aplicativos usando as APIs móveis ApplicationData, o Windows replicará esses dados na nuvem e sincronizará os dados em todos os outros dispositivos em que o aplicativo estiver instalado. Siga estas diretrizes ao projetar seu aplicativo da Windows Store para que inclua dados de aplicativos móveis.

O exemplo de dados de aplicativo mostra como usar as ApplicationDataAPIs para armazenar e recuperar dados específicos de cada usuário e ao aplicativo da Windows Store.

Meu aplicativo deve usar dados móveis?

Use dados móveis para armazenar as configurações, preferências e informações sobre sessão de um usuário para criar uma experiência de aplicativo coesa em diversos dispositivos. Tenha em mente que os dados móveis estão associados à conta da Microsoft de um usuário. Os dados móveis serão sincronizados apenas se um usuário fizer logon em seus dispositivos usando a mesma conta da Microsoft e instalar o aplicativo em diversos dispositivos.

Por exemplo, se um usuário instalar seu aplicativo em dois dispositivos, todas as preferências definidas no primeiro dispositivo serão automaticamente aplicadas ao aplicativo no segundo dispositivo (assumindo-se que o usuário utilize a mesma conta da Microsoft para fazer logon em ambos os dispositivos). Quaisquer alterações futuras nessas configurações e preferências também serão transicionadas automaticamente, fornecendo uma experiência uniforme, independentemente do dispositivo. Ao armazenar as informações sobre a sessão como dados móveis, você permitirá que os usuários continuem uma sessão do aplicativo, que tenha sido fechada ou abandonada em um dispositivo, ao transferirem para outro dispositivo.

Observação  As propriedades RoamingSettings, RoamingFolder e RoamingStorageQuota não estão implementadas para o Windows Phone.

Observação  Esses tipos de arquivo não usarão perfil móvel, mesmo se colocados na RoamingFolder:

  • Tipos de arquivo que se comportarem como pastas (por exemplo, arquivos com as extensões .zip e .cab)
  • Arquivos que tenham nomes com espaços à esquerda
  • Arquivos que tenham nomes com estes caracteres unicode:

    e794, e795, e796, e7c7, e816, e817, e818, e81e, e826, e82b, e82c, e831, e832, e83b, e843, e854, e855, e864, e7e2, e7e3 e e7f3

  • Caminhos de arquivo (nome + extensão de arquivo) que não ultrapassem 256 caracteres
  • Pastas vazias
  • Arquivos com manipuladores abertos

O que fazer e o que não fazer

  • Use o roaming para preferências de usuário e personalizações, links e pequenos arquivos de dados. Por exemplo, use o roaming para preservar a preferência de cor de fundo de um usuário em todos os seus dispositivos.
  • Use o roaming para permitir que os usuários continuem uma tarefa entre dispositivos. Por exemplo, use um perfil móvel, como o conteúdo de um rascunho de email ou a página mais recentemente exibida em um aplicativo de leitura.
  • Manipule o evento DataChanged atualizando os dados do aplicativo. Esse evento ocorrerá quando os dados de aplicativos tiverem terminado de ser sincronizados da nuvem.
  • Use um perfil móvel para o conteúdo em vez de dados brutos. Por exemplo, use um perfil móvel em uma URL, em vez do conteúdo de um artigo online.
  • Para configurações importantes e urgentes, use a configuração HighPriority associada a RoamingSettings. Para saber mais, consulte esta breve visão geral de Dados de aplicativos. Para ver exemplos de códigos, consulte Quickstart: Roaming app data (Windows Store apps using JavaScript and HTML), Quickstart: Roaming app data (Windows Store apps using C#/VB/C++ and XAML) ou o Exemplo de dados de aplicativo.
  • Não use um perfil móvel em dados específicos a um dispositivo. Algumas informações são pertinentes apenas localmente, como um nome de caminho de um recurso de arquivo local. Se você decidir usar um perfil móvel nas informações locais, certifique-se de que o aplicativo possa se recuperar se as informações não forem válidas no dispositivo secundário.
  • Não use perfis móveis em grandes conjuntos de dados de aplicativos. Há um limite na quantidade de dados em que um aplicativo pode aplicar um perfil móvel; use a propriedade RoamingStorageQuota para atingir essa quantidade máxima. Se um aplicativo atingir esse limite, o perfil móvel não poderá ser usado em nenhum dado até que o tamanho do armazenamento de dados do aplicativo deixe de exceder o limite. Ao projetar seu aplicativo, considere como definir um limite para dados maiores, para que eles não ultrapassem o limite. Por exemplo, se para salvar o estado de um jogo for preciso 10 KB, o aplicativo deverá apenas permitir o armazenamento de até 10 jogos.
  • Não use o perfil móvel para dados que dependerem da sincronização instantânea. O Windows não garante uma sincronização instantânea; o uso do perfil móvel pode ser significativamente atrasado se um usuário estiver offline em uma rede de alta latência. Assegure-se de que sua interface do usuário não dependa da sincronização instantânea.
  • Não use o perfil móvel com dados que mudarem frequentemente. Por exemplo: se o aplicativo acompanhar informações que mudarem frequentemente, como a posição em um música por segundos, não armazene essas informações como dados de uso do perfil móvel do aplicativo. Em vez disso, escolha uma representação menos frequente que ainda represente uma boa experiência do usuário, como uma música que estiver tocando no momento.

Diretriz de uso adicional

Pré-requisitos do uso do perfil móvel

Qualquer usuário pode se beneficiar dos dados de uso do perfil móvel do aplicativo, desde que esteja usando uma conta da Microsoft para fazer logon no dispositivo. No entanto, usuários e administradores de política de grupo podem desligar o dados de uso do perfil móvel do aplicativo a qualquer momento. Se uma usuária escolher não usar uma conta da Microsoft ou desabilitar os recursos de dados móveis, ela ainda poderá usar seu aplicativo, mas os dados de aplicativo serão locais em cada dispositivo.

Os dados armazenados no PasswordVault serão transferidos somente se o usuário tiver definido o dispositivo como “confiável”. Se um dispositivo não for confiável, os dados armazenados nesse cofre não estarão disponíveis para o perfil móvel.

Resolução de conflitos

Dados de uso do perfil móvel do aplicativo não devem estar ativos simultaneamente em mais de um dispositivo por vez. Se houver um conflito durante a sincronização por causa de uma unidade de dados específica ter sido alterada em dois dispositivos, o sistema sempre favorecerá o valor que tiver sido gravado por último. Isso garantirá que o aplicativo utilize as informações mais atualizadas. Se a unidade de dados for uma composição de configuração, a resolução do conflito ainda ocorrerá no nível da unidade de configuração, o que significa que a composição com a última alteração será sincronizada.

Quando gravar dados

Dependendo do tempo de vida esperado da configuração, os dados deverão ser gravados em momentos diferentes. Os dados de aplicativo que mudarem com pouca frequência ou lentamente deverão ser gravados imediatamente. No entanto, os dados de aplicativo que forem modificados com frequência devem ser gravados apenas periodicamente, a intervalos regulares (como a cada 5 minutos), e também quando o aplicativo for suspenso. Por exemplo, um aplicativo de música poderá gravar as configurações da “música atual” sempre que uma nova música começar a tocar, mas a posição real na música deverá ser gravada apenas em suspensão.

Proteção excessiva da utilização

O sistema conta com vários mecanismos ativos de proteção para evitar o uso inapropriado de recursos. Se os dados de aplicativo não forem transmitidos como esperado, é provável que o dispositivo esteja temporariamente restrito. Normalmente, basta esperar alguns instantes para que a situação seja solucionada automaticamente, sem a necessidade de nenhuma ação do usuário.

Controle de versão

Os dados de aplicativo podem utilizar o controle de versão para atualizar de uma estrutura para outra. O número da versão é diferente da versão do aplicativo e pode ser definido conforme desejado. Ainda que não seja obrigatório, é altamente recomendável usar somente números de versão crescentes, pois a transferência para números de verão inferiores que representarem novos dados poderá resultar em complicações indesejadas (inclusive perda de dados).

Os dados de aplicativo só estarão disponíveis ao perfil móvel de aplicativos instalados com o mesmo número de versão. Por exemplo, os dispositivos com a versão 2 fazem a transferência de dados entre si, e os dispositivos com a versão 3 também, mas não há atividade do perfil móvel entre os dispositivos das versões 2 e 3. Se você instalar um novo aplicativo que tiver utilizado diversos números de versão em outros dispositivos, o aplicativo recém-instalado sincronizará os dados de aplicativo associados ao número de versão maior.

Testes e ferramentas

Os desenvolvedores podem bloquear o dispositivo para disparar uma sincronização de dados de aplicativo de roaming. Se não houver transferência de dados de aplicativo em determinado intervalo de tempo, verifique os itens a seguir:

  • Os dados de perfil móvel não podem ultrapassar o limite de tamanho máximo (veja RoamingStorageQuota para saber detalhes).
  • Os arquivos foram fechados e desbloqueados corretamente.
  • Existem pelo menos dois dispositivos com a mesma versão do aplicativo.

Os desenvolvedores podem usar o Windows 8 Roaming Monitor para monitorar e manipular o status de roaming de seus aplicativos.

Usar o perfil móvel entre dados de um aplicativo da Windows Store e um aplicativo da Loja do Windows Phone

Se você publicar duas versões de seu aplicativo — uma versão para a Windows Store e uma versão para o Windows Phone — será possível usar o perfil móvel em dados de aplicativos executando nos dois diferentes tipos de dispositivos. Para usar o perfil móvel em dados de diferentes versões do aplicativo, em diferentes tipos de dispositivo, designe o mesmo PFN (nome da família de pacotes) a cada versão do aplicativo.

Para obter mais informações, consulte How to roam data between a Windows Store app and a Windows Phone Store app (Como usar o perfil móvel em dados de um aplicativo da Windows Store e um aplicativo da Loja do Windows Phone)

Tópicos relacionados

Para desenvolvedores (HTML)
Visão geral sobre dados de aplicativo
Guia de início rápido: dados de aplicativos em roaming
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Para desenvolvedores (XAML)
Visão geral sobre dados de aplicativo
Quickstart: Roaming de dados de aplicativos (C#/VB/C++)
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Exemplo
Exemplo de dados de aplicativos

 

 

Mostrar:
© 2014 Microsoft