如何实施Firebase用户元数据以了解用户是现有用户还是新用户

时间:2018-01-03 21:55:22

标签: android firebase-authentication

我已经检查了如何使用FirebaseUserMetaData界面的firebase文档,所以我尝试了但事情对我没用,所以任何人都知道如何实现这段代码

FirebaseUserMetadata metadata = auth.getCurrentUser().getMetadata();
if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()) {
    // The user is new, show them a fancy intro screen!
} else {
    // This is an existing user, show them a welcome back screen.
}

也无法找到auth.getCurrentUser()。getMetadata()

2 个答案:

答案 0 :(得分:1)

您正在寻找的方法是一个名为FireBase-UI的独立Android库的一部分。

您需要导入该依赖项才能使用该方法。详细信息和来源如下:

https://github.com/firebase/FirebaseUI-Android

您使用的确切库位于:

https://github.com/firebase/FirebaseUI-Android/blob/master/auth/README.md

dependencies {
// ...
implementation 'com.firebaseui:firebase-ui-auth:3.1.2'

// Required only if Facebook login support is required

implementation 'com.facebook.android:facebook-login:4.x'

// Required only if Twitter login support is required

implementation("com.twitter.sdk.android:twitter-core:3.x@aar") { transitive = true }
}

还要确保首先存在auth对象:

FirebaseAuth auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
FirebaseUserMetadata metadata = auth.getCurrentUser().getMetadata();
    if (metadata.getCreationTimestamp() == metadata.getLastSignInTimestamp()) {
        // Do your logic
    }
}

答案 1 :(得分:0)