我有一个应用程序,只要用户选择,就可以匿名使用。我使用匿名用户的标识符来保存用户的历史记录、信用和个人资料值。如果用户选择注册,我将链接函数称为提供商到匿名帐户的链接。
我的流程如下:
新用户下载并打开应用程序,我们检查用户是否匿名登录,如果是,则继续。如果他没有登录,我们会在后台自动让他登录。
稍后用户决定注册,我们向其中一个提供商注册用户,并将用户链接到匿名凭证
用户现在可以在任何设备上登录他的帐户,并查看他的历史记录和个人资料值
我的问题是如何管理/迁移匿名使用该应用程序的用户,该用户在未先注册的情况下转移到新设备?
例如。 我按原样使用该应用程序,没有注册。我进行交易、购买积分并更新我的个人资料。我从来没有选择真正注册。我只是使用该应用程序。
我买了一部新手机并下载了该应用程序,因为这是一部新手机,我很快就会自动登录。应用程序启动后,我会看到我的历史记录/个人资料值/积分为空白。
我的问题是如何管理/迁移匿名使用该应用程序的用户,该用户在未先注册的情况下转移到新设备?
你没有办法做到这一点。用户在新设备上匿名登录后,就会创建一个全新的 Firebase 匿名帐户。您无法将两个不同设备上存在的两个不同匿名帐户链接到一个帐户中。
我按原样使用该应用程序,没有注册。我进行交易、购买积分并更新我的个人资料。我从来没有选择真正注册。我只是使用该应用程序。
您唯一的选择是将第一台设备上的匿名帐户与提供商链接。这样,无论用户使用多少设备,最终您将始终拥有一个(真实)帐户。所以你应该鼓励他们将匿名帐户转换为真实帐户。
应用程序启动后,我会看到我的历史记录/个人资料值/积分为空白。
这是预期的行为,因为当您在 Firebase 中匿名验证用户身份时,会生成一个新的 UID。因此,在第二台设备上,您正在读取全新的数据。