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 qui sont à votre disposition.

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é, les données d'application et les paramètres pour les utilisateurs qui reviennent dans votre application.

Les utilisateurs génèrent beaucoup de données lorsqu'ils se servent de vos applications. Veillez à sauvegarder les données appropriées. La sauvegarde partielle de certaines données peut agacer les utilisateurs qui ouvrent l'application sur un nouvel appareil et découvrent que toutes leurs données n'ont pas été conservées. 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 plus d'informations sur le transfert d'identifiants d'authentification et de jetons d'autorisation, consultez Block Store.

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

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. Vous pouvez synchroniser les données d'application entre des appareils Android et enregistrer les données que vous souhaitez utiliser pendant le cycle de vie normal de l'application. Vous pouvez également restaurer les données d'un utilisateur connu sur un nouvel appareil. Pour découvrir comment procéder, consultez Transférer des données à l'aide d'adaptateurs de synchronisation.

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 permet d'assurer une expérience utilisateur optimale.

Évitez de sauvegarder les URI, 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.
Documents Sauvegarder des 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 la section Tester la sauvegarde et la restauration.