Когда сохранять данные регистрации пользователя в Cloud Firestore - PullRequest
1 голос
/ 19 мая 2019

В моем приложении для 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 для электронной почты и пароля пользователь входит в систему после успешной регистрации.

Однако мне все еще нужно, чтобы пользователь предоставил дополнительную информацию, такую ​​как его имя.

В настоящее время этот наблюдатель будет запущен после шага 1 и перейдет к отображению функций приложения, и не будет гарантировать, что пользователь сначала перейдет к шагу 2, прежде чем сможет перейти к шагу 3.

Как я могу гарантировать, что пользователь всегда перейдет к шагу 2 после завершения шага 1, прежде чем он сможет получить доступ к функциям приложения, в том числе если пользователь должен был выйти из приложения после шага 1?

1 Ответ

1 голос
/ 19 мая 2019

Мой типичный подход заключается в том, чтобы на раннем этапе присоединить слушателя к пользовательскому документу, а затем перенаправить на основе правильного состояния в зависимости от того, что вы получите.

  1. Если вы не получите документ, выВозможно, вы захотите перенаправить на страницу регистрации.
  2. Если вы получили документ, но он не содержит дополнительную информацию, вам нужно будет перенаправить на страницу «Ввод дополнительной информации».
  3. Если вы получили документ с полным профилем пользователя, перенаправьте на основной вид вашего приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...