首页 > 解决方案 > 如何让 Android 将应用数据存储在用户的 Google 帐户中,以便在新设备上安装时恢复

问题描述

我们正在我们的 Web、iOS 和 Android 应用程序上实施一个无登录系统,该系统允许用户拥有持久身份,而无需任何注册/登录流程。

loginless 的一个关键部分是依靠 iOS 和 Android 将我们应用程序的数据永久存储在用户的 iCloud/Google 帐户中,以便在每个场景中为用户自动恢复数据:

我们剩下的唯一情况是弄清楚如何为 Android 完成 (iv)。即使新设备不是从旧设备的备份设置的,Android 中的键/值备份是否会在这种情况下恢复数据?

我们在研究过程中发现了Cloud FirestoreAccountManager的存在,但似乎 Cloud Firestore 中的数据是基于设备键入的,因此无法完成 (iv),而且 AccountManager 似乎需要向用户通过 询问他们的帐户android.permission.GET_ACCOUNTS,加上 loginless 的整个设计旨在不向用户询问任何个人身份信息。我们的这些结论是否正确,或者可以使用 Cloud Firestore 来完成 (iv)?还有什么我们可以用来在 Android 中完成 (iv) 的吗?

¹ 我们决定使用键/值备份而不是自动备份,因为备份的频率高于自动备份的频率。请参阅Android 文档中有关差异的更多信息。

标签: androidandroid-activitygoogle-cloud-firestoreaccountmanagerandroid-backup-service

解决方案


如果android:allowBackup属性设置为 true,则共享首选项应从以前的设备恢复。据我所知,如果您在 Google(驱动器)上备份了您的手机,则此方法有效。


推荐阅读