gpt4 book ai didi

android - FireBaseUI Auth - 如何知道帐户是来自新注册还是现有用户?

转载 作者:行者123 更新时间:2023-12-02 15:46:54 24 4
gpt4 key购买 nike

我正在使用firebaseUI for authentication 。它本质上是打开一个外部 Activity 并将用户登录到 firebase 并在 onActivityResult 中向开发人员发送回调。它工作得很好,问题是我需要知道用户是新注册用户还是现有用户。是否有任何类型的元数据或我可以用来了解这一点的东西?这是我迄今为止在 JAVA ANDROID 中所拥有的:

    private void ititFireBaseUi() {

AuthUI.getInstance()
.signOut(getActivity())
.addOnCompleteListener(new OnCompleteListener<Void>() {
public void onComplete(@NonNull Task<Void> task) {
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build());
//new AuthUI.IdpConfig.Builder(AuthUI.TWITTER_PROVIDER).build());

// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.setLogo(R.drawable.logo)
.build(),
RC_SIGN_IN);
}
});

}

然后得到结果:

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
//I WOULD LIKE TO KNOW HERE IF THE USER IS A NEW USER OR EXISTING USER
String msg = "";
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
msg = "generating token with email:" + user.getEmail();

Timber.d(msg);
Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show();

presenter.generateTokenWithFireBase(user);
// ...
} else {
// Sign in failed, check response for error code

}
}
}
}

我看到一个 meta class这也许可以帮助我,但我不知道如何使用它。

gradle:实现“com.firebaseui:firebase-ui-auth:3.2.2”

最佳答案

不要使用创建和登录时间戳进行比较。我发现它不可靠。

IdpResponse 有一个 isNewUser() 方法来告诉您登录是否是新帐户。

关于android - FireBaseUI Auth - 如何知道帐户是来自新注册还是现有用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com