何时将用户注册数据保留到Cloud Firestore

时间:2019-05-19 09:59:41

标签: ios firebase firebase-authentication google-cloud-firestore

在我的iOS应用中,我需要执行以下步骤来创建帐户:

  1. 创建电子邮件和密码帐户
  2. 保留其他用户数据,例如姓名等。
  3. 然后用户可以访问应用功能

为初步确定用户是否已通过身份验证以及将用户转到哪个屏幕,我使用Firebase推荐的侦听器。

    func initialAuthHandleObserver(completionHandler: @escaping (AuthStatus) -> Void) {
        Auth.auth().addStateDidChangeListener { (auth, _) in
            if auth.currentUser == nil {
                completionHandler(.signedOut)
            } else {
                completionHandler(.signedIn)
            }
        }
    }

使用Firebase auth方法创建电子邮件和密码帐户时,用户在成功注册后便会登录。

但是,我仍然需要用户提供进一步的信息,例如他们的姓名。

当前,此观察者将在第1步之后触发,并将转换为显示应用功能,并且不能确保用户在进入第3步之前先进入第2步。

如何确保用户在完成第1步之后始终进入第2步,然后才能访问应用程序功能,包括用户是否要在第1步之后退出应用程序?

1 个答案:

答案 0 :(得分:1)

我的典型方法是尽早将侦听器附加到用户文档,然后根据返回的内容基于正确的状态进行重定向。

  1. 如果没有文档,您可能需要重定向到注册页面。
  2. 如果您获得文档,但其中不包含其他信息,则需要重定向到“输入其他信息”页面。
  3. 如果您获得具有完整用户资料的文档,请重定向到应用程序的主视图。