Visão geral do backup de dados

Geralmente, os usuários investem muito tempo e esforço criando uma identidade, inserindo dados e personalizando as configurações e preferências do app. É importante preservar esses dados e personalizações quando os usuários fizerem upgrade para um novo dispositivo ou reinstalarem o app para garantir uma excelente experiência do usuário. Esta página descreve quais dados armazenar em backup e as opções de backup disponíveis.

Selecionar quais dados armazenar em backup

Dados de identidade e conta, dados de configurações e dados do app em um dispositivo.

Figura 1. Restaure os dados de identidade, do app e de configurações para os usuários que retornam ao seu app.

Os usuários geram muitos dados quando usam seus apps. Faça backup dos dados adequados. O backup parcial de dados pode frustrar os usuários quando eles abrem o app em um novo dispositivo e descobrem que algo está faltando. Os dados importantes a serem armazenados em backup são os dados de identidade, dados do app gerados por usuários e dados de configurações, conforme descrito abaixo.

Dados de identidade

Você pode ajudar a manter o engajamento dos usuários transferindo a conta deles quando começarem a usar um novo dispositivo.

  • Para detalhes sobre como transferir credenciais de autenticação e tokens de autorização, consulte a API Block Store.

  • Para explorar as soluções de login do Google e facilitar o login do usuário no app, consulte a plataforma Google Identity.

Dados do app

Os dados do app podem incluir conteúdo gerado pelo usuário, como mensagens de texto, imagens e outras mídias. É possível sincronizar dados do app entre dispositivos com tecnologia Android e salvar os dados que você quer usar durante o ciclo de vida normal do app. Também é possível restaurar os dados de um usuário em um novo dispositivo. Para saber como fazer isso, consulte Transferir dados com adaptadores de sincronização.

Dados de configurações

Faça também o backup e a restauração de dados de configurações para preservar as preferências personalizadas do usuário antigo em um novo dispositivo. Será possível restaurar os dados de configurações mesmo se o usuário não fizer login no app. Você pode fazer backup de configurações que o usuário define explicitamente na interface do app, além dos dados transparentes, como uma sinalização indicando se um assistente de configuração foi exibido ao usuário.

Para preservar o máximo possível da experiência do usuário em um dispositivo novo, faça backup das configurações a seguir:

  • Todas as configurações modificadas pelo usuário, por exemplo, ao usar a biblioteca Preference do Jetpack.

  • Se o usuário ativou ou desativou as notificações e os toques sonoros.

  • Flags booleanas que indicam se o usuário já encontrou telas de boas-vindas ou dicas introdutórias.

Transferência de configurações de um dispositivo móvel para outro.

Figura 2. A restauração das configurações em novos dispositivos ajuda a garantir uma ótima experiência do usuário.

Evite fazer o backup de URIs porque eles podem ser instáveis. Em alguns casos, a restauração para um novo dispositivo móvel pode resultar em um URI inválido que não aponta para um arquivo válido. Um exemplo disso é o uso de URIs para salvar a preferência de toque sonoro de um usuário. Quando o usuário reinstalar o app, o URI poderá apontar para um toque diferente daquele esperado ou até mesmo não apontar para um toque. Em vez de fazer backup do URI, você pode fazer backup de alguns metadados sobre a configuração, como um título ou hash do toque.

Opções de backup

O Android oferece duas maneiras para os apps fazerem backup de dados na nuvem: Backup automático para apps e backups de chave-valor. O Backup automático, disponível no Android 6.0 e versões mais recentes, preserva os dados fazendo upload deles na conta do Google Drive do usuário. O Backup automático inclui arquivos na maioria dos diretórios atribuídos ao app pelo sistema. O Backup automático pode armazenar até 25 MB de dados baseados em arquivos por app. O backup de chave-valor (anteriormente conhecido como a API Backup e o Android Backup Service) preserva os dados de configuração na forma de pares de chave-valor fazendo upload deles para o Android Backup Service.

Geralmente, recomendamos o Backup automático porque ele está ativado por padrão e não dá nenhum trabalho para ser implementado. O Backup automático é ativado automaticamente para os apps direcionados ao Android versão 6.0 ou mais recente. O recurso de Backup automático é uma abordagem baseada em arquivos para fazer backup de dados de apps. Embora seja simples implementar o Backup automático, use o recurso de backup de chave-valor se você tiver necessidades mais específicas de backup de dados.

A tabela abaixo descreve algumas das principais diferenças entre o backup de chave-valor e o Backup automático:

Categoria Backup de chave-valor (Android Backup Service) Backup automático do Android
Versões compatíveis Android 2.2 (API de nível 8) e mais recentes. Android 6.0 (API de nível 23) e versões mais recentes.
Participação Desativado por padrão. Os apps podem aceitar declarando um agente de backup. Ativado por padrão. Os apps podem recusar desativando os backups.
Implementação Os apps precisam implementar um BackupAgent. O agente de backup define quais dados serão armazenados em backup e como restaurar dados. Por padrão, o Backup automático inclui quase todos os arquivos do app. Você pode usar XML para incluir e excluir arquivos. Internamente, o Backup automático depende de um agente de backup empacotado no SDK.
Frequência Os apps precisam emitir uma solicitação quando há dados prontos para backup. As solicitações de vários apps são agrupadas e executadas em intervalos de algumas horas. Os backups ocorrem de forma automática, aproximadamente uma vez por dia.
Transmissão Os dados de backup podem ser transmitidos por Wi-Fi ou por dados móveis. Por padrão, os dados de backup são transmitidos por Wi-Fi, mas o usuário do dispositivo pode ativar os backups de dados móveis. Se o dispositivo nunca se conectar a uma rede Wi-Fi ou o usuário não mudar as configurações de backup de dados móveis, o Backup automático nunca ocorrerá.
Condições de transmissão Define as condições do dispositivo necessárias para backup em onBackup(). Define as condições do dispositivo necessárias para o backup no arquivo XML se o agente de backup padrão estiver sendo usado.
Desligamento do app Os apps não são desativados durante o backup. O sistema desativa o app durante o backup.
Armazenamento de backup Os dados de backup são armazenados no Android Backup Service e são limitados a 5 MB por app. O Google trata esses dados como informações pessoais, de acordo com a própria Política de Privacidade. Os dados de backup são armazenados no Google Drive do usuário, limitados a 25 MB por app. O Google trata esses dados como informações pessoais de acordo com a própria Política de Privacidade.
Login do usuário Não exige que o usuário faça login no seu app. O usuário precisa estar conectado ao dispositivo com uma Conta do Google. Não exige que o usuário faça login no seu app. O usuário precisa estar conectado ao dispositivo com uma Conta do Google.
API Os métodos de API relacionados são baseados em entidade: Os métodos de API relacionados são baseados em arquivos:
Restauração de dados Os dados são restaurados quando o app é instalado. Se necessário, é possível solicitar uma restauração manual. Os dados são restaurados quando o app é instalado. Há uma lista de de conjuntos de dados de backup. O usuário pode escolher um dessa lista caso haja vários conjuntos de dados disponíveis.
Documentação Fazer backup de pares de chave-valor usando o Android Backup Service Fazer backup dos dados de usuários com o Backup automático

Para mais informações sobre como o backup e a restauração funcionam para cada serviço, consulte Testar backup e restauração.