用户使用 Firebase Auth 登录后如何上传本地保存的数据?

问题描述 投票:0回答:1

离线模式下使用

Firestore
工作时有一个很好的功能:

Cloud Firestore 支持离线数据持久化。该功能可以缓存 您的应用正在主动使用的 Cloud Firestore 数据的副本,因此 您的应用程序可以在设备离线时访问数据。你可以 写入、读取、监听和查询缓存数据。当设备 返回联机状态后,Cloud Firestore 会同步所做的任何本地更改 通过您的应用程序连接到 Cloud Firestore 后端。

但我真正需要的是同一件事:一旦用户以任何方式(匿名或使用某些提供商)登录,他们创建的所有数据都会上传到 Firestore。

我问这个问题是因为假设匿名登录失败或任何登录失败,并且我需要 UID 将用户与其数据连接起来。我想这是一个现实的场景,可能非常罕见,但它可能会发生。

Firebase API 中是否有解决此问题的方法?

ios firebase google-cloud-firestore firebase-authentication
1个回答
0
投票

如果您尝试在 Firestore 中存储每个用户的数据,您肯定需要一个 UID 才能以对该用户有意义的路径收集该数据。如果没有数据,您就无法合理地编写每用户数据。

如果您允许用户在不先登录的情况下使用您的应用程序,则使用“匿名身份验证”静默自动登录他们是有意义的。这将创建一个带有 UID 的帐户,您可以使用该 UID 将文档写入 Firestore。 当需要使用您选择的任何真实用户身份验证提供商登录用户时,您可以通过

将其链接到身份验证提供商

来升级匿名帐户。他们在 Firestore 中的所有现有数据将不受影响。

© www.soinside.com 2019 - 2024. All rights reserved.