gpt4 book ai didi

java - 在 Firebase 中使用电话号码注册和登录

转载 作者:行者123 更新时间:2023-12-04 08:58:58 25 4
gpt4 key购买 nike

我是 Android 新手,对于何时通过电话身份验证创建新用户帐户,我几乎没有任何疑问。我为用户注册创建了一个注册 Activity 和 OTP Activity 。用户注册后,我获取用户的信息,然后 5 Activity 将数据存储到 Firebase。我可以在 Firebase 中查看用户的详细信息和电话号码。
这是我的 OTP 页面:

  private void signInWithPhoneAuthCredential(PhoneAuthCredential credential) {

FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();

firebaseAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){

Intent intent = new Intent(B_Verification_Activity.this, C_Name_Activity.class);
intent.putExtra("userPhone", comp_phoneNumber);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
else{
return;
}
}
});
}
这是我将数据存储在 Firebase 中的最后一个 Activity :
  public void storeNewUserData() {
rootNode = FirebaseDatabase.getInstance();
String userId = firebaseAuth.getCurrentUser().getUid();
reference = rootNode.getInstance().getReference().child("Kullanıcılar").child(user_Gender.toString()).child(userId);

UserHelperClass addNewUser = new UserHelperClass(user_phoneNumber, user_FirstName, user_Gender, user_Birthdate, user_Hobbies);
reference.setValue(addNewUser);
}
但我不知道用户如何使用电话号码登录。在注册页面,我只是验证了电话号码,就是这样。我不知道用户是否在注册 Activity 中创建。我想在 OTP Activity 中创建用户。我应该写其他代码吗?
我的英语不是很好,谢谢你的帮助。

最佳答案

Firebase 电话身份验证中没有注册或登录功能。实际上,他们只是获取用户的电话号码并使用一次性密码进行验证。它实际上是电话号码验证。
换句话说,如果电话号码是新的,则验证后会创建一个新的用户帐户。但是,如果返回的用户验证了他/她的号码,他们只是登录了。您可能想从这里做一件事:
您可能想要检查用户是新用户还是旧用户,然后从实时数据库/Firestore 获取数据,如果他们是回访用户。您可能还会将新用户的数据发送到数据库,在这种情况下,如果他们是第一次使用,您可以发送他们的数据。
为了帮助您解决这个问题,Firebase Android SDK 中有一个名为 isNewUser() 的函数。如果他们第一次使用他们的号码进行验证(记录),则返回 boolean 值 true 。您可以从 here 详细了解该功能。 .

关于java - 在 Firebase 中使用电话号码注册和登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63653985/

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