Блокировать магазин

Многие пользователи по-прежнему управляют своими учетными данными при настройке нового устройства Android. Этот ручной процесс может стать сложным и часто приводит к плохому взаимодействию с пользователем. API Блока - магазин, библиотека , питание от услуг Google Play , внешний вид , чтобы решить эту проблему, предоставляя возможность для приложений , чтобы сохранить учетные данные пользователя без риска сложности или безопасности , связанный с сохранением пользовательских паролей.

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

Преимущества использования Block Store включают следующее:

  • Решение для хранения зашифрованных учетных данных для разработчиков. Учетные данные по возможности зашифрованы сквозным шифрованием.
  • Сохраняйте токены вместо логинов и паролей.
  • Устраните трение от потоков входа в систему.
  • Избавьте пользователей от бремени управления сложными паролями.
  • Google проверяет личность пользователя.

Прежде чем вы начнете

Настройте свое приложение

  1. В вашем проектном уровне build.gradle файла, включают в себя хранилище Maven Google, как в вашем buildscript и allprojects разделах:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Добавьте зависимости для API блока хранилища в Gradle файл приложения уровня вашего модуля, который обычно является app/build.gradle :

    dependencies {
      implementation 'com.google.android.gms:play-services-auth-blockstore:16.0.2'
    }
    

Как это работает

Когда пользователь входит в ваше приложение, вы можете сохранить токен аутентификации, созданный для этого пользователя, в Block Store. Это делается путем вызова setBytes() на экземпляре StoreBytesData.Builder для хранения учетных данных пользователя к устройству источника. После сохранения токена в Block Store токен зашифровывается и хранится локально на устройстве.

В следующем фрагменте кода показано, как сохранить токен аутентификации:

val client = Blockstore.getClient(this)
val data = StoreBytesData.Builder()
        .setBytes(/* BYTE_ARRAY */)
        .build()
client.storeBytes(data)
        .addOnSuccessListener{ result ->
            Log.d(TAG, "Stored: ${result.getBytesStored()}")
        }

Позже, когда пользователь проходит процесс восстановления с устройства на устройство на новом устройстве, службы Google Play сначала проверяют пользователя, а затем извлекают данные из хранилища блоков. Пользователь уже согласился восстановить данные вашего приложения в рамках процесса восстановления, поэтому никаких дополнительных согласий не требуется. Когда пользователь открывает приложение, вы можете запросить маркер из блока Store , позвонив по телефону retrieveBytes() . Полученный токен затем можно использовать для сохранения входа пользователя в систему на новом устройстве.

val client = Blockstore.getClient(this)
client.retrieveBytes()
        .addOnSuccessListener { result ->
            Log.d(TAG, "Retrieved: ${String(result)}")
}