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 os dados que precisam ser armazenados em backup e as opções 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 ao usar seus apps e você deve ter cuidado para fazer backup dos dados corretos. O backup de apenas alguns dados poderá frustrar os usuários quando eles abrirem o app em um dispositivo novo e descobrirem 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 começar, adote o Login do Google, que permite que os usuários façam login automaticamente ou com um único toque no novo dispositivo.

Você também pode integrar o Smart Lock para senhas, que restaura instantaneamente os logins do usuário no dispositivo. Com esse recurso, é possível salvar credenciais de nome de usuário e senha (por exemplo, as senhas) e credenciais de provedores de identidade federados. A Estrutura de preenchimento automático também permite que os usuários salvem senhas em dispositivos com o Android 8.0 e versões mais recentes.

Também é possível usar a API Account Transfer para copiar credenciais de conta personalizadas do app de um dispositivo antigo do usuário para um novo. A transferência ocorre durante a configuração do novo dispositivo por conexão Bluetooth criptografada ou por um cabo conectando um dispositivo ao outro.

Dados do app

Os dados do app podem incluir conteúdo gerado pelo usuário, como mensagens de texto, imagens e outras mídias. Para restaurar dados do app, consulte Transferir dados com adaptadores de sincronização ou API do Google Drive para Android. Você pode usar qualquer uma dessas abordagens para sincronizar dados do app entre dispositivos Android e salvar os dados que pretende usar durante o ciclo de vida normal do app. Você também pode usar uma dessas abordagens para restaurar os dados de um usuário antigo em um novo dispositivo.

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 IU 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.

  • Sinalizações booleanas que indicam se telas de boas-vindas ou dicas introdutórias foram exibidas aos usuários.

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

Figura 2. A restauração das configurações em novos dispositivos garante uma excelente experiência do usuário.

Os URIs são um tipo de dado de configuração que não deve ser armazenado em backup, porque eles podem ficar 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 de um usuário. Quando o usuário reinstalar o app, o URI poderá apontar para um toque diferente daquele pretendido ou sequer apontar para toque algum. 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: Backups automáticos 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 de 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 a seguir 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 versões 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 dados da rede celular. 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 com o Android Backup Service Fazer backup dos dados de usuários com o Backup automático

Mais informações sobre como o backup e a restauração funcionam para cada serviço estão disponíveis em Testar backup e restauração.