我已经检查了如何使用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()
答案 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)
您需要在登录/注册时进行检查。 AuthResult将包含其他用户信息: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/AuthResult.html#getAdditionalUserInfo()
其他用户信息包含一个getter isNewUser
:
https://firebase.google.com/docs/reference/android/com/google/firebase/auth/AdditionalUserInfo.html#isNewUser()