如何在 Android 中使用 Block Store 进行流畅的账户转账?
在配置新的 Android 智能手机时,许多用户仍然保留自己的密码。此手动过程可能很耗时,并且经常导致糟糕的用户体验。 Block Store API 是一个由 Google Play 服务支持的库,旨在通过允许应用程序保留用户凭据来解决这个问题,而不会带来保存用户密码的复杂性或安全风险。新移动设备的魅力。打开保鲜盒,取出塑料以查看无瑕疵的屏幕,设置智能手机,并将之前的应用程序下载到新设备上。当用户尝试使用他们的应用程序并需要重新进行身份验证时,这种流畅的体验就会中断。尝试调用帐户凭据并完成帐户恢复程序既费时又不方便。这种摩擦促使用户创建一个新帐户并放弃旧帐户,或者在某些情况下,摩擦非常严重,以至于他们完全退出程序。
以下是使用 Block Store 的一些优点:
- 对于开发人员来说,一种加密的凭证存储解决方案。在可行的情况下,凭证被端到端加密。
- 保存令牌,而不是用户名和密码。
- 消除登录流程中的摩擦。
- 免除用户管理复杂密码的负担。
- Google 会验证用户的身份。
块存储操作如下
- 您可以在用户登录您的应用程序时或之后的任何时间将您为用户生成的身份验证令牌保存到 Block Store。
- 使用 Block Store 保存令牌后,令牌会被加密并保存在本地设备上。
- 当用户使用设备到设备恢复流程设置新设备时,数据会被移动。
- 当用户在新设备上返回您的应用程序时,如果他们已批准通过设备到设备恢复来恢复其数据,Block Store 将获取您的应用程序的令牌。
GeekTip: When using Block Store, the user is not restricted to the sort of credentials that may be utilized. Users may still utilize their login and password, their Google account, or any other federated identity provider to access Block Store.
如何添加块存储?
第 1 步:在项目级 build.gradle 文件的 buildscript 和 allprojects 部分中包含 Google 的 Maven 存储库:
buildscript {
repositories {
google()
}
}
allprojects {
repositories {
google()
}
}
第 2 步:将 Block Store API 依赖项添加到模块的应用级 Gradle 文件中,该文件通常为 app/build.gradle:
dependencies {
implementation 'com.google.android.gms:play-services-auth-blockstore:16.0.1'
}
结论
当用户登录您的应用程序时,您可以将该用户的身份验证令牌保存到 Block Store。这是通过在 StoreBytesData.Builder 实例上执行setBytes()以将用户的凭据保存到源设备来完成的。使用 Block Store 保存令牌后,令牌会被加密并保存在本地设备上。
稍后,当用户在新设备上执行设备到设备恢复流程时,Google Play 服务首先验证用户,然后再检索您的 Block Store 数据。作为恢复序列的一部分,用户同意恢复您的应用数据,因此无需进一步的同意。