Пользователи часто тратят много времени и усилий на создание идентификационных данных, добавление данных и настройку параметров и предпочтений в вашем приложении. Сохранение этих данных и персонализации для пользователей при переходе на новое устройство или переустановке приложения — важный фактор обеспечения комфортного пользовательского опыта. На этой странице описывается, какие данные следует резервировать, и доступные вам варианты резервного копирования.
Выберите данные для резервного копирования

Рисунок 1. Обязательно восстановите идентификационные данные, данные приложения и данные настроек для пользователей, возвращающихся в ваше приложение.
Пользователи генерируют большой объём данных при использовании ваших приложений. Позаботьтесь о резервном копировании необходимых данных — резервное копирование только части данных может вызвать раздражение у пользователей, когда они откроют приложение на новом устройстве и обнаружат, что чего-то не хватает. Важнейшие данные для резервного копирования — это идентификационные данные пользователей, данные приложений, созданные ими, и данные настроек, как описано ниже.
Идентификационные данные
Вы можете помочь сохранить существующую вовлеченность пользователей, перенеся их учетную запись, когда они начинают использовать новое устройство.
Подробную информацию о передаче учетных данных аутентификации и токенов авторизации см. в разделе Block Store .
Чтобы изучить решения Google по входу в систему, которые упрощают вход пользователей в ваше приложение, см. раздел Идентификация Google .
Данные приложения
Данные приложения могут включать пользовательский контент, такой как текст, изображения и другие медиафайлы. Вы можете синхронизировать данные приложения между устройствами Android и сохранять данные, которые вы хотите использовать в течение обычного жизненного цикла приложения. Вы также можете восстановить данные вернувшегося пользователя на новое устройство. Подробнее см. в статье Перенос данных с помощью адаптеров синхронизации .
Данные настроек
Обязательно создайте резервную копию и восстановите данные настроек, чтобы сохранить персонализированные настройки вернувшегося пользователя на новом устройстве. Вы можете восстановить данные настроек, даже если пользователь не вошел в ваше приложение. Вы можете создать резервную копию настроек, которые пользователь явно устанавливает в пользовательском интерфейсе вашего приложения, а также прозрачных данных, таких как признак того, что пользователь видел мастер настройки.
Чтобы максимально сохранить существующий пользовательский опыт на новом устройстве, обязательно сделайте резервную копию следующих пользовательских настроек:
Любые настройки, измененные пользователем, например, при использовании библиотеки настроек Jetpack.
Включил или выключил пользователь уведомления и рингтоны.
Булевы флаги, указывающие, видел ли пользователь экраны приветствия или вводные подсказки.
Рисунок 2. Восстановление настроек на новых устройствах помогает обеспечить удобство использования.
Избегайте резервного копирования URI, поскольку они могут быть нестабильными. В некоторых случаях восстановление на новом мобильном устройстве может привести к появлению недействительного URI, не указывающего на корректный файл. Одним из примеров является использование URI для сохранения настроек рингтона. При переустановке приложения URI может указывать на отсутствие рингтона или на рингтон, отличный от задуманного. Вместо резервного копирования URI можно создать резервную копию некоторых метаданных о настройке, например, названия рингтона или его хэша.
Варианты резервного копирования
Android предоставляет приложениям два способа резервного копирования данных в облако: автоматическое резервное копирование приложений и резервное копирование по принципу «ключ-значение» . Функция автоматического резервного копирования, доступная в Android версии 6.0 и выше, сохраняет данные, загружая их в учётную запись Google Диска пользователя. Функция автоматического резервного копирования включает файлы в большинстве каталогов, назначенных вашему приложению системой. Функция автоматического резервного копирования может хранить до 25 МБ файловых данных для каждого приложения. Функция резервного копирования по принципу «ключ-значение» (ранее известная как Backup API и Android Backup Service) сохраняет данные настроек в виде пар «ключ-значение», загружая их в Android Backup Service.
Как правило, мы рекомендуем использовать функцию Auto Backup, поскольку она включена по умолчанию и не требует дополнительных действий для настройки. Приложения для Android версии 6.0 и выше автоматически включают функцию Auto Backup. Функция Auto Backup — это файловый подход к резервному копированию данных приложений. Хотя Auto Backup прост в реализации, рассмотрите возможность использования функции резервного копирования по ключам и значениям, если у вас есть более специфические потребности в резервном копировании данных.
В следующей таблице описаны некоторые ключевые различия между резервным копированием «ключ-значение» и автоматическим резервным копированием:
Категория | Резервное копирование «ключ-значение» (Android Backup Service) | Автоматическое резервное копирование Android |
---|---|---|
Поддерживаемые версии | Android 2.2 (API уровня 8) и выше. | Android 6.0 (уровень API 23) и выше. |
Участие | По умолчанию отключено. Приложения могут включить эту функцию, указав агента резервного копирования . | Включено по умолчанию. Приложения могут отказаться от резервного копирования, отключив его . |
Выполнение | Приложения должны реализовывать BackupAgent . Агент резервного копирования определяет, какие данные следует копировать и как их восстанавливать. | По умолчанию Auto Backup включает в себя почти все файлы приложения. Вы можете использовать XML для включения и исключения файлов . Внутренне Auto Backup использует агент резервного копирования, встроенный в SDK. |
Частота | Приложения должны отправлять запрос, когда есть данные, готовые к резервному копированию. Запросы от нескольких приложений группируются и выполняются каждые несколько часов. | Резервное копирование происходит автоматически, примерно раз в день. |
Передача инфекции | Резервные данные можно передавать с помощью Wi-Fi или сотовой связи. | Резервное копирование данных по умолчанию осуществляется через Wi-Fi, но пользователь устройства может включить резервное копирование мобильных данных. Если устройство никогда не подключается к сети Wi-Fi или пользователь не меняет настройки резервного копирования мобильных данных, автоматическое резервное копирование не выполняется. |
Условия передачи | Определите условия устройства, необходимые для резервного копирования в onBackup() . | Определите условия устройства, необходимые для резервного копирования в XML-файле, если используется агент резервного копирования по умолчанию. |
Приложение закрыто | Приложения не закрываются во время резервного копирования. | Система закрывает приложение во время резервного копирования. |
Резервное хранилище | Резервные копии данных хранятся в службе резервного копирования Android, их размер ограничен 5 МБ на приложение. Google рассматривает эти данные как персональную информацию в соответствии с Политикой конфиденциальности Google. | Резервные копии данных хранятся на Google Диске пользователя, их размер ограничен 25 МБ на приложение. Google рассматривает эти данные как персональную информацию в соответствии с Политикой конфиденциальности Google. |
Логин пользователя | Не требует авторизации пользователя в приложении. Пользователь должен быть авторизован на устройстве с помощью учётной записи Google. | Не требует авторизации пользователя в приложении. Пользователь должен быть авторизован на устройстве с помощью учётной записи Google. |
API | Сопутствующие методы API основаны на сущностях: | Сопутствующие методы API основаны на файлах: |
Восстановление данных | Данные восстанавливаются после установки приложения. При необходимости вы можете запросить ручное восстановление. | Данные восстанавливаются после установки приложения. Пользователи могут выбрать один из резервных наборов данных, если доступно несколько наборов. |
Документация | Резервное копирование пар «ключ-значение» с помощью Android Backup Service | Резервное копирование пользовательских данных с помощью функции автоматического резервного копирования |
Дополнительную информацию о работе резервного копирования и восстановления для каждой службы см. в разделе Тестовое резервное копирование и восстановление .