Présentation de la sauvegarde de données

Les utilisateurs consacrent souvent beaucoup de temps et d'efforts à la création d'une identité, à l'ajout de données, ainsi qu'à la personnalisation des paramètres et des préférences au sein de votre application. La conservation de ces données et personnalisations pour les utilisateurs qui effectuent une mise à niveau vers un nouvel appareil ou une réinstallation de votre application est essentielle pour leur garantir une expérience utilisateur de qualité. Cette page décrit les données à sauvegarder et les options de sauvegarde disponibles.

Sélectionner les données à sauvegarder

Données d'identité et de compte, de paramètres et d'application sur un appareil.

Figure 1. Assurez-vous de restaurer les données d'identité, d'application et de paramètres pour les utilisateurs qui reviennent dans votre application.

Les utilisateurs génèrent beaucoup de données lorsqu'ils utilisent vos applications. Veillez donc à bien sauvegarder les données appropriées. La sauvegarde partielle des données peut frustrer les utilisateurs qui ouvrent l'application sur un nouvel appareil et découvrent des éléments manquants. Les données importantes à sauvegarder pour vos utilisateurs sont les données d'identité, les données d'application générées par l'utilisateur et les données de paramètres, comme décrit ci-dessous.

Données d'identité

Vous pouvez contribuer à préserver l'engagement des utilisateurs existants en transférant leur compte lorsqu'ils commencent à utiliser un nouvel appareil.

Pour en savoir plus sur le transfert des identifiants de compte (connexion), consultez Block Store.

Pour découvrir les solutions de connexion Google permettant aux utilisateurs de se connecter facilement à votre application, consultez Google Identity.

Données d'application

Les données d'application peuvent inclure du contenu généré par l'utilisateur tel que du texte, des images et d'autres contenus multimédias. Pour restaurer les données d'application, consultez Transférer des données à l'aide d'adaptateurs de synchronisation ou API Google Drive pour Android. Vous pouvez utiliser l'une ou l'autre approche pour synchroniser les données de l'application entre des appareils Android et enregistrer les données que vous souhaitez utiliser au cours du cycle de vie normal de l'application. Vous pouvez également utiliser l'une ou l'autre approche pour restaurer les données d'un utilisateur connu sur un nouvel appareil.

Données des paramètres

Veillez également à sauvegarder et à restaurer les données des paramètres afin de conserver les préférences personnalisées d'un utilisateur connu sur un nouvel appareil. Vous pouvez restaurer les données de paramètres même si un utilisateur ne se connecte pas à votre application. Vous pouvez sauvegarder les paramètres définis explicitement par un utilisateur dans l'interface utilisateur de votre application, ainsi que des données transparentes, telles qu'un indicateur signalant si un utilisateur a consulté un assistant de configuration.

Pour préserver autant que possible l'expérience d'un utilisateur sur un nouvel appareil, veillez à sauvegarder les paramètres utilisateur suivants :

  • Tous les paramètres modifiés par l'utilisateur, par exemple lors de l'utilisation de la Bibliothèque des préférences de Jetpack.

  • Notifications et sonneries activées ou désactivées, selon les préférences définies par l'utilisateur.

  • Indicateurs booléens indiquant si l'utilisateur a consulté des écrans d'accueil ou des info-bulles de présentation.

Transfert de paramètres d'un appareil mobile à un autre.

Figure 2. La restauration des paramètres sur les nouveaux appareils garantit une expérience utilisateur optimale.

Les URI sont un type de données de paramètres que vous devez éviter de sauvegarder, car ils peuvent être instables. Dans certains cas, la restauration sur un nouvel appareil mobile peut entraîner un URI non valide ne pointant pas vers un fichier valide. Par exemple, vous pouvez enregistrer les préférences de sonnerie d'un utilisateur à l'aide d'un URI. Lorsque l'utilisateur réinstalle l'application, l'URI peut pointer vers une autre sonnerie, différente de celle souhaitée par l'utilisateur. Plutôt que de sauvegarder l'URI, il est préférable de sauvegarder certaines métadonnées concernant le paramètre, comme le titre ou le hachage de la sonnerie.

Options de sauvegarde

Android propose aux applications deux méthodes de sauvegarde de leurs données dans le cloud : la sauvegarde automatique pour les applications et la sauvegarde clé-valeur. La sauvegarde automatique, disponible sous Android 6.0 ou version ultérieure, permet de conserver les données en les important dans le compte Google Drive de l'utilisateur. La sauvegarde automatique inclut les fichiers dans la plupart des répertoires attribués à votre application par le système. La sauvegarde automatique peut stocker jusqu'à 25 Mo de données basées sur des fichiers par application. La fonctionnalité de sauvegarde clé-valeur (anciennement appelée API Backup et Android Backup Service) conserve les données de paramètres sous la forme de paires clé-valeur en les important dans Android Backup Service.

En règle générale, nous recommandons la sauvegarde automatique, car elle est activée par défaut et ne nécessite aucune mise en œuvre. La sauvegarde automatique est automatiquement activée sur les applications qui ciblent Android version 6.0 ou version ultérieure. La fonctionnalité de sauvegarde automatique est une approche basée sur des fichiers permettant de sauvegarder les données de l'application. Bien que la sauvegarde automatique soit simple à mettre en œuvre, vous pouvez utiliser la fonctionnalité de sauvegarde clé-valeur si vous avez des besoins plus spécifiques de sauvegarde de données.

Le tableau suivant décrit certaines des principales différences entre la sauvegarde clé-valeur et la sauvegarde automatique :

Catégorie Sauvegarde clé-valeur (Android Backup Service) Sauvegarde automatique Android
Versions compatibles Android 2.2 (niveau d'API 8) ou version ultérieure. Android 6.0 (niveau d'API 23) ou version ultérieure.
Participation Désactivée par défaut. Les applications peuvent l'activer en déclarant un agent de sauvegarde. Activée par défaut. Les applications peuvent la désactiver en désactivant les sauvegardes.
Mise en œuvre Les applications doivent implémenter un BackupAgent. L'agent de sauvegarde définit les données à sauvegarder et la façon dont elles doivent être restaurées. Par défaut, la sauvegarde automatique inclut presque tous les fichiers de l'application. Vous pouvez utiliser le format XML pour inclure et exclure des fichiers. En interne, la sauvegarde automatique repose sur un agent de sauvegarde intégré au SDK.
Fréquence Les applications doivent envoyer une requête lorsque des données sont prêtes à être sauvegardées. Les requêtes provenant de plusieurs applications sont regroupées et exécutées à des intervalles de quelques heures. Les sauvegardes sont effectuées automatiquement environ une fois par jour.
Transmission Les données de sauvegarde peuvent être transmises via le Wi-Fi ou les données mobiles. Les données de sauvegarde sont transmises par défaut via le Wi-Fi, mais l'utilisateur de l'appareil peut activer les sauvegardes via les données mobiles. Si l'appareil n'est jamais connecté à un réseau Wi-Fi ou si l'utilisateur ne modifie pas ses paramètres de sauvegarde en faveur des données mobiles, la sauvegarde automatique n'aura jamais lieu.
Conditions de transmission Définissez les conditions de l'appareil requises pour la sauvegarde dans onBackup(). Définissez les conditions de l'appareil requises pour la sauvegarde dans le fichier XML (si vous utilisez l'agent de sauvegarde par défaut).
Arrêt de l'application Les applications ne sont pas fermées lors de la sauvegarde. Le système arrête l'application pendant la sauvegarde.
Sauvegarde et stockage Les données de sauvegarde sont stockées dans Android Backup Service et limitées à 5 Mo par application. Google traite ces données comme des informations personnelles, conformément à ses Règles de confidentialité. Les données de sauvegarde sont stockées dans le Google Drive de l'utilisateur, et limitées à 25 Mo par application. Google traite ces données comme des informations personnelles, conformément à ses Règles de confidentialité.
Connexion d'un utilisateur Ne nécessite pas la connexion de l'utilisateur à votre application ; l'utilisateur doit être connecté à l'appareil avec un compte Google. Ne nécessite pas la connexion de l'utilisateur à votre application ; l'utilisateur doit être connecté à l'appareil avec un compte Google.
API Méthodes d'API associées basées sur des entités : Méthodes d'API associées basées sur des fichiers :
Restauration des données Les données sont restaurées lorsque l'application est installée. Si nécessaire, vous pouvez demander une restauration manuelle. Les données sont restaurées lorsque l'application est installée. Les utilisateurs peuvent sélectionner dans une liste des ensembles de données de sauvegarde si plusieurs ensembles de données sont disponibles.
Documentation Sauvegarder les paires clé-valeur avec Android Backup Service Sauvegarder les données utilisateur avec la sauvegarde automatique

Pour en savoir plus sur le fonctionnement de la sauvegarde et de la restauration pour chaque service, consultez Tester la sauvegarde et la restauration.