La Vista previa para desarrolladores de Android 11 ya está disponible. Pruébala y comparte tus comentarios.

Descripción general de la copia de seguridad de datos

Con frecuencia, los usuarios invierten mucho tiempo y esfuerzo para crear una identidad, agregar datos y personalizar configuraciones y preferencias en tu app. Conservar estos datos y la personalización cuando los usuarios actualicen a un dispositivo nuevo o reinstalen tu app es una parte importante para garantizarles una experiencia excelente. En esta página, se describe qué datos necesitan copia de seguridad y las opciones que tienes disponibles para hacerlo.

Cómo seleccionar los datos que necesitan copia de seguridad

Datos de identidad y cuenta, datos de configuración y datos de app en un dispositivo.

Figura 1 : Asegúrate de restablecer los datos de identidad, de app y de configuración para los usuarios que regresan a tu app

Los usuarios generan una gran cantidad de datos cuando usan tus apps, por lo que debes asegurarte de crear una copia de seguridad de los datos adecuados. Crear copias de seguridad solo de algunos de los datos puede frustrar a los usuarios cuando abren la app en un dispositivo nuevo y descubren que falta algo. Los datos importantes para los que necesitas copias de seguridad para tus usuarios son los datos de identidad, los datos de app que ellos generan y los datos de configuración, como se describe a continuación.

Datos de identidad

Para ayudar a mantener la participación de los usuarios existentes, puedes transferir sus cuentas cuando comiencen a usar un dispositivo nuevo.

Para comenzar, debes adoptar el Acceso con Google, que permite que los usuarios accedan automáticamente o con un solo toque en su dispositivo nuevo.

También puedes integrar Smart Lock para contraseñas, que restablece al instante los accesos de los usuarios en un dispositivo. Smart Lock para contraseñas permite guardar credenciales de nombre de usuario y contraseña (por ejemplo, contraseñas) y credenciales de proveedor de identidad federado. Autofill Framework también permite a los usuarios guardar contraseñas en dispositivos con Android 8.0 y versiones posteriores.

También puedes usar la API de transferencia de cuentas para copiar las credenciales de cuenta personalizadas de tu app del dispositivo existente del usuario a un nuevo dispositivo. La transferencia se lleva a cabo durante la configuración del nuevo dispositivo mediante una conexión Bluetooth encriptada o un cable de un dispositivo a otro.

Datos de apps

Los datos de app pueden incluir contenido generado por usuarios, como texto, imágenes y otros medios. Para restablecer los datos de app, consulta Cómo transferir datos mediante adaptadores de sincronización o la API de Google Drive para Android . Puedes usar cualquiera de los dos enfoques para sincronizar los datos de app entre dispositivos con Android y guardar los datos que desees usar durante el ciclo de vida normal de la app. También puedes usar cualquiera de los dos enfoques para restablecer los datos de un usuario recurrente en un dispositivo nuevo.

Datos de configuración

Asegúrate de hacer una copia de seguridad y restablecer los datos de configuración para conservar las preferencias personalizadas de un usuario recurrente en un dispositivo nuevo. Puedes restablecer los datos de configuración incluso si un usuario no accede a tu app. Puedes hacer una copia de seguridad de la configuración que un usuario establece de forma explícita en la IU de tu app, así como de datos transparentes, como una marca que indica si un usuario ha visto un asistente de configuración.

Nota: Automáticamente, el sistema realiza una copia de seguridad y un restablecimiento de cualquier permiso que un usuario otorgue a tu app en dispositivos con Android 7.0 (API nivel 24) o versiones posteriores. Sin embargo, si un usuario desinstala tu app, el sistema borrará todos los permisos otorgados y el usuario deberá volver a otorgarlos.

Para conservar la mayor parte posible de la experiencia de un usuario existente en un dispositivo nuevo, asegúrate de crear una copia de seguridad de la siguiente configuración del usuario:

  • Cualquier configuración modificada por el usuario, por ejemplo, cuando se usa Preference Library de AndroidX
  • Las notificaciones y los tonos activados o desactivados por el usuario
  • Marcas booleanas que indican si el usuario vio pantallas de bienvenida o información sobre la herramienta de introducción

Transferencia de la configuración de un dispositivo móvil a otro.

Figura 2 : Restablecimiento de la configuración de dispositivos nuevos para garantizar una excelente experiencia del usuario

Un tipo de datos de configuración que debes evitar en la copia de seguridad son los URI, ya que pueden ser inestables. En algunos casos, un establecimiento de un nuevo dispositivo móvil puede generar un URI no válido que no apunte a un archivo válido. Un ejemplo de esto es usar los URI para guardar una preferencia de tono del usuario. Cuando el usuario reinstale la app, es posible que el URI no apunte a un tono o que el tono sea diferente al deseado. En vez de crear una copia de seguridad del URI, puedes crear una copia de seguridad de algunos metadatos de la configuración, como un título o hash de tono.

Opciones de copia de seguridad

Android ofrece dos maneras para que las apps creen copias de seguridad de sus datos en la nube: copia de seguridad automática para apps y copia de seguridad de clave-valor. La copia de seguridad automática, que está disponible a partir de Android 6.0 (API nivel 23), conserva los datos subiéndolos a la cuenta de Google Drive del usuario. La copia de seguridad automática incluye archivos en la mayoría de los directorios que el sistema asigna a tu app. La copia de seguridad automática puede almacenar hasta 25 MB de datos basados en archivos por app. La función de copia de seguridad de clave-valor (antes conocida como Backup API y Android Backup Service) conserva los datos de configuración en pares clave-valor subiéndolos a Android Backup Service.

Por lo general, recomendamos la copia de seguridad automática porque está habilitada de forma predeterminada y no es necesario hacer nada para implementarla. Las apps orientadas a Android 6.0 (API nivel 23) o versiones posteriores se habilitan automáticamente para la copia de seguridad automática. La copia de seguridad automática es un enfoque basado en archivos con el objetivo de crear copias de seguridad para los datos de app. Si bien la copia de seguridad automática es fácil de implementar, puedes considerar la función de copia de seguridad de clave-valor si tienes necesidades más específicas para crear una copia de seguridad de datos.

Nota: Si tu app no tiene un mecanismo de copia de seguridad para su contenido y es poco probable que el tamaño de ese contenido exceda el límite de 25 MB, entonces la copia de seguridad automática puede ser suficiente para satisfacer tus necesidades.

En la siguiente tabla, se describen algunas de las diferencias clave entre la copia de seguridad de clave-valor y la copia de seguridad automática:

Categoría Copia de seguridad de clave-valor (Android Backup Service) Copia de seguridad automática de Android
Versiones compatibles Android 2.2 (API nivel 8) y versiones posteriores. Android 6.0 (API nivel 23) y versiones posteriores.
Participación Inhabilitada de forma predeterminada. Las apps pueden aceptarla mediante la declaración de un agente de copia de seguridad. Habilitada de forma predeterminada. Las apps pueden rechazarla mediante la inhabilitación de las copias de seguridad.
Implementación Las apps deben implementar un BackupAgent. El agente de copia de seguridad define qué datos necesitan copia de seguridad y cómo restablecerlos. De forma predeterminada, la copia de seguridad incluye casi todos los archivos de la app. Puedes usar XML para incluir y excluir archivos. En niveles profundos, la copia de seguridad automática se basa en un agente de este tipo incluido en el SDK.
Frecuencia Las apps deben emitir una solicitud cuando hay datos listos para crear una copia de seguridad. Las solicitudes de múltiples apps se agrupan en lotes y se ejecutan cada algunas horas. Las copias de seguridad ocurren automáticamente alrededor de una vez al día.
Transmisión Los datos de copia de seguridad se pueden transmitir a través de Wi-Fi o datos móviles. Los datos de copia de seguridad se transmiten a través de Wi-Fi de forma predeterminada, pero el usuario del dispositivo puede activar las copias de seguridad de datos móviles. Si el dispositivo nunca se conecta a una red Wi-Fi o si el usuario no cambia su configuración de copia de seguridad de datos móviles, la copia de seguridad automática nunca ocurre.
Condiciones de transmisión Definen las condiciones del dispositivo que son obligatorias para la copia de seguridad en onBackup(). Definen las condiciones del dispositivo que son obligatorias para la copia de seguridad en un archivo XML (si se usa el agente de copia de seguridad predeterminado).
Cierre de la app Las aplicaciones no se cierran durante la copia de seguridad. El sistema cierra la app durante la copia de seguridad.
Almacenamiento de copia de seguridad Los datos de copia de seguridad se almacenan en Android Backup Service y se limitan a 5 MB por app. Google trata estos datos como información personal de acuerdo con su Política de Privacidad. Los datos de copia de seguridad se almacenan en la cuenta de Google Drive del usuario y se limitan a 25 MB por app. Google trata estos datos como información personal de acuerdo con su Política de privacidad.
Acceso del usuario No es necesario que un usuario acceda a tu app. El usuario debe acceder al dispositivo con una Cuenta de Google. No es necesario que un usuario acceda a tu app. El usuario debe acceder al dispositivo con una Cuenta de Google.
API Los métodos de API relacionados se basan en entidades: Los métodos de API relacionados se basan en archivos:
Restablecimiento de datos Los datos se restablecen cuando se instala la app. Si es necesario, puedes solicitar un restablecimiento manual. Los datos se restablecen cuando se instala la app. Los usuarios pueden seleccionar de una lista de conjuntos de datos de copia de seguridad si hay varios conjuntos de datos disponibles.
Documentación Pares clave-valor de copia de seguridad con Android Backup Service Cómo crear una copia de seguridad automática para los datos del usuario

Para obtener más información sobre cómo funciona la copia de seguridad y el restablecimiento para cada servicio, consulta Cómo probar copias de seguridad y restablecimientos.

Nota: Si la conexión Wi-Fi no está disponible, la copia de seguridad de clave-valor puede usar datos móviles. Por lo tanto, la copia de seguridad de clave-valor generalmente no es adecuada para el contenido de datos de app, como medios, archivos descargados y memorias caché, a menos que la cantidad de datos sea muy pequeña.

Recursos adicionales

Para obtener más información sobre la copia de seguridad de datos, consulta los siguientes recursos.

Codelabs