【发布时间】:2021-10-15 08:19:13
【问题描述】:
这是所有使用电子邮件密码注册帐户的代码,保存验证电子邮件,将用户数据保存到 Firestore 数据库。只有 Firestore 数据库无法运行。
fAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
// send verification link
FirebaseUser fuser = fAuth.getCurrentUser();
fuser.sendEmailVerification().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(register.this, "Verification Email Has been Sent.", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "onFailure: Email not sent " + e.getMessage());
}
});
Toast.makeText(register.this, "User Created.", Toast.LENGTH_SHORT).show();
userID = fAuth.getCurrentUser().getUid();
DocumentReference documentReference = fStore.collection("users").document(userID);
Map<String,Object> user = new HashMap<>();
user.put("fName",fullName);
user.put("email",email);
user.put("phone",phone);
documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "onSuccess: user Profile is created for "+ userID);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "onFailure: " + e.toString());
}
});
startActivity(new Intent(getApplicationContext(),MainActivity.class));
}
否则{ Toast.makeText(register.this, "Error !" + task.getException().getMessage(), Toast.LENGTH_SHORT).show(); progressBar.setVisibility(View.GONE); } } }); } });
【问题讨论】:
-
请编辑您的问题并将代码添加为文本,不添加为图像。
-
已编辑,firebase中的身份验证是可行的,但我想将用户数据存储到firestore中它不起作用。
-
即使我添加了日志,但在 logcat 中也没有显示任何内容
-
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { 允许读取,写入:如果 request.auth != null; } } }
-
这是我的 Firestore 规则
标签: java android firebase google-cloud-firestore