如何检查用户是否是新注册用户

时间:2018-03-17 21:29:20

标签: android firebase firebase-authentication

我正在开发按预期工作的Android应用程序,但我正在使用FirebaseUI来验证用户登录,我正在使用此代码进行身份验证和注册:

startActivityForResult(AuthUI.getInstance()
                                    .createSignInIntentBuilder()
                                    .setIsSmartLockEnabled(false)
                                    .setAvailableProviders(Arrays.asList(
                                            new AuthUI.IdpConfig.EmailBuilder().build(),
                                            new AuthUI.IdpConfig.GoogleBuilder().build(),
                                            new AuthUI.IdpConfig.FacebookBuilder().build()))
                                    .build(),
                            RC_SIGN_IN);

使用onActivityResult()

登录后,有没有办法知道当前用户是否是新用户?

2 个答案:

答案 0 :(得分:1)

您可以使用以下云功能:

exports.sendWelcomeEmail = functions.auth.user().onCreate((event) => {
   // ...
 });

每次创建新用户时都会触发此功能。

发生以下情况时会触发:

  1. 用户创建电子邮件帐户和密码。
  2. 用户首次使用联合身份提供商登录。
  3. 开发者使用Firebase Admin SDK创建帐户。
  4. 用户首次登录新的匿名身份验证会话。
  5. 更多信息:

    https://firebase.google.com/docs/functions/auth-events

答案 1 :(得分:1)

在回购中解释: https://github.com/firebase/FirebaseUI-Android/tree/master/auth#user-metadata

最简单的方法是将上次登录时间与用户的创建时间进行比较,以确定用户是新用户还是现有用户。