Привет, Хабр! Представляю вашему вниманию перевод статьи «Discover tools for Android data migration and improve your app retention» авторов Sean McQuillan и Prateek Tandon.

Пользователи создают учетные записи, активируют их, а затем сохраняются, когда многократно запускают приложение. Обычно пользователю не нужно повторно вводить пароль для Android-приложения в течение многих лет, то есть до тех пор, пока он не купит новый телефон.
Покупка нового телефона — это редкое событие для многих людей, может пройти несколько лет между обновлением устройств. Существует несколько инструментов, которые помогут пользователям войти в систему, когда они будут использовать приложение на новом телефоне.

Резервное копирование данных приложения


Автозагрузка должна быть настроена для каждого приложения. Эта функция автоматически создает резервные копии данных приложения. Поэтому, когда люди получают новый телефон, их данные из приложений автоматически восстанавливаются до запуска приложения.
Чтобы настроить автозагрузку приложения, вам необходимо установить правила включения и исключения:

AndroidManifest.xml

   <application ...
    android:fullBackupContent="@xml/autobackup">

xml/autobackup.xml

<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
    <include domain="sharedpref" path="."/>
    <exclude domain="sharedpref" path="device.xml"/>
</full-backup-content>

При настройке правил include и exclude важно избегать хранения конфиденциальных пользовательских данных в Auto Backup, хотя это отличное место для хранения пользовательских настроек и другого содержимого приложения.

Чтобы реализовать отслеживание для Auto Backup, зарегистрируйте BackupAgent и прослушайте onQuotaExceeded обратный вызов. Если ваше приложение превышает предел резервной копии 25 МБ, этот обратный вызов будет уведомлением о сбое. В хорошо сконфигурированном приложении этого никогда не произойдет, поэтому вы можете отслеживать его как отчет о сбое.

Оптимизируйте вход в систему


Пользователи не хотят повторно вводить логин и пароль. Существует несколько способов для решения этой задачи:

1. Используя Google Sign-In, пользователи могут войти в систему со своей учетной записью Gmail или любым адресом электронной почты. Самое главное, им не нужно запоминать пароль. Помимо улучшения регистрации и активации, включение входа в Google также поможет с сохранением, поскольку позволяет тем, кто получает новые телефоны, активироваться с помощью одной кнопки или даже автоматически. Еще вы можете использовать Google Sign-In для входа в систему приложений iOS, Web и Android. Также если ваше приложение использует Firebase Auth для обработки входа в Google.

2. Сделайте процесс входа проще с помощью Google Smart Lock и Autofill. Эти две функции работают рука об руку, чтобы помочь людям безопасно получить доступ к своим паролям. Autofill был представлен в Android O и будет предлагать автоматически сохранять пароли пользователя в хранилище данных Smart Lock или в предпочтительном диспетчере паролей при входе в систему. Настройте подсказки автозаполнения и исключите поля, которые не должны быть заполнены Autofill.

<TextView
   android: id = "@ + id / username" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: autofillHints = "username" />
<TextView
   android: id = "@ + id / password" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: autofillHints = "password" />
<TextView
   android: id = "@ + id / captcha" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: importantForAutofill = "no" />

3. Интеграция Smart Lock с API для безопасного хранения паролей. Smart Lock обратно совместим с API 9 и отлично работает на устройствах со старыми версиями Android, которые не работают с Autofill. Подобно Autofill, Smart Lock API предложит спасти пароли пользователя после входа в систему. Программный поиск Smart Lock API позволяет автоматически возвратиться к пользовательскому входу даже на новых устройствах и в Chrome. Чтобы поддержать эту функцию Smart Lock, вам нужно будет включить в приложение какой-то код; проверьте Codelab, чтобы узнать, как интегрировать Smart Lock для паролей в приложение. Также не забудьте связать свое приложение с веб-сайтом, чтобы обеспечить беспрепятственный доступ к Chrome с помощью Autofill и Smart Lock.

4. Используя API переноса учетных записей, подумайте заранее, чтобы ваше приложение могло передавать учетные данные со старого телефона на новый. Приложение использует зашифрованный bluetooth или кабель, и вы можете передавать данные с телефонов с интерфейсом API 14 или выше. Перенос учетной записи происходит, когда пользователь вашего приложения настраивает свой новый телефон в первый раз, когда ваше приложение будет повторно установлено из Google Play, учетные данные вашего приложения будут доступны при первом запуске.

Codelabs

Также можно настроить автозагрузку для Android Codelab и SmartLock Codelab.

Теперь вы можете облегчить миграцию данных благодаря набору инструментов: передача настроек с помощью Auto Backup, улучшение входа в систему с помощью входа в аккаунт Google, Smart Lock для паролей, автозаполнение и API перенос аккаунта.

Комментарии (2)


  1. ColdPhoenix
    28.02.2018 01:58

    вы хоть бы вычитали перед публикацией перевода.


    спасти… автозагрузка(хотя речь о бэкапе). более напоминает машинный перевод.


    1. fapsi
      28.02.2018 10:02

      Туда же, целый абзац

      Чтобы реализовать отслеживание для Auto Backup, зарегистрируйте BackupAgent и прослушайте onQuotaExceeded обратный вызов. Если ваше приложение превышает предел резервной копии 25 МБ, этот обратный вызов будет уведомлением о сбое. В хорошо сконфигурированном приложении этого никогда не произойдет, поэтому вы можете отслеживать его как отчет о сбое.


      По существу. Бэкап-файл — его надо переносить вручную? Полагал, что будет публикация с шагами от и до, а тут почти бесполезные эпизоды.