O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Visão geral do backup de dados

Com frequência, os usuários investem muito tempo e esforço na criação de uma identidade, inserção de dados e personalização das configurações e preferências no seu app. A preservação desses dados e personalizações quando os usuários fazem upgrade para um novo dispositivo ou reinstalam seu app é importante para garantir uma excelente experiência do usuário. Esta página descreve os dados que devem 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. O "Smart Lock para senhas" permite salvar credenciais de nome de usuário e senha (por exemplo, senhas) e credenciais de provedor de identidade federado. 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 seu app de um dispositivo existente do usuário para um novo dispositivo. A transferência ocorre durante a configuração do novo dispositivo por meio de uma conexão Bluetooth criptografada ou de uma conexão por cabo de 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 com tecnologia 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 retornante 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 retornante em um novo dispositivo. Será possível restaurar os dados de configurações mesmo se o usuário não fizer login no seu app. Você pode fazer backup de configurações que o usuário define explicitamente na IU do seu app, bem como de dados transparentes, como uma sinalização indicando se o usuário viu um assistente de configuração.

Observação: todas as permissões que um usuário concede ao seu app são automaticamente armazenadas em backup e restauradas pelo sistema em dispositivos com o Android 7.0 (API 24) ou versões mais recentes. No entanto, se o usuário desinstalar seu app, o sistema apagará todas as permissões concedidas, e o usuário precisará concedê-las novamente.

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

  • Todas as configurações modificadas pelo usuário, por exemplo, ao usar a Preference Library do AndroidX.
  • Se o usuário ativou ou desativou as notificações e os toques.
  • Sinalizações booleanas que indicam se o usuário viu 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 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: Backup automático para apps e Backup de chave-valor. O Backup automático, disponível a partir do Android 6.0 (API de nível 23), preserva os dados fazendo upload na conta do Google Drive do usuário. O Backup automático inclui arquivos na maioria dos diretórios atribuídos ao seu 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 API Backup e Android Backup Service) preserva os dados de configuração na forma de pares de chave-valor fazendo upload para o Android Backup Service.

Geralmente, recomendamos o Backup automático porque ele está ativado por padrão e não requer qualquer trabalho para ser implementado. O Backup automático é ativado automaticamente nos apps direcionados ao Android 6.0 (API de nível 23) ou versões mais recentes. 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.

Observação: se seu app não tem um mecanismo de backup para o conteúdo do app, e o tamanho do conteúdo do seu app não tende a exceder o limite de 25 MB, o Backup automático será suficiente para atender às suas necessidades.

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. O funcionamento interno do 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. Os usuários podem selecionar a partir de uma lista de conjuntos de dados de backup 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.

Observação: se o Wi-Fi não estiver disponível, o Backup de chave-valor poderá usar os dados móveis. Portanto, o Backup de chave-valor não é adequado para conteúdo de dados de apps, como mídia, arquivos salvos e caches, a menos que a quantidade de dados seja muito pequena.

Outros recursos

Para ver mais informações sobre backup de dados, consulte os seguintes recursos.

Codelabs