android - 我如何知道登录用户是新创建的用户还是现有用户?

标签 android firebase firebase-authentication

在 firebase 中,您本质上不需要使用 createUserWithEmailAndPassword() 来创建用户(如果不登录另一个帐户也是不可能的) 但您可以在所有情况下使用 signInWithCredential() 来创建和登录。 因此,鉴于我对新用户案例和现有用户案例都使用 signInWithCredential(),我如何区分两者。

在他们的 sample 中writeNewUser() 正在为所有 onAuthSuccess 案例调用,而不仅仅是新用户。

如何判断登录用户是新用户还是现有用户?

最佳答案

您可以通过 signInWithCredential 返回的 AuthResult 来区分现有用户和新用户: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/AuthResult

它提供了一个 getter:getAdditionalUserInfo(),它返回一个 AdditionalUserInfo,它提供 isNewUser() 来判断用户是新用户还是现有用户: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/AdditionalUserInfo.html#isNewUser()

关于android - 我如何知道登录用户是新创建的用户还是现有用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47218776/

相关文章:

firebase - Flutter 如何允许用户创建和切换多个账户?

java - 如何将值传递给非 Activity 类

java - 注册用户 - 添加字段

android - Android 中的 Toast 使用哪个上下文?

java - 使用 orderByChild() 获取计数

ios - Firebase 推送未在 iOS 应用中显示

javascript - Firebase 与 Web : Using user Id in reference causes error: Uncaught TypeError: Cannot read property 'on' of undefined

java - 如何显示当前登录的用户 Firebase

javascript - 如何在Android中捕获当前屏幕第一行的文本?

java - Libgdx 测试直线是否与矩形相交