我正在使用Firebase数据库,我想存储用户数据。 我现在不想强迫用户使用Google帐户登录,因此我添加了Firebase匿名身份验证。身份验证工作正常,但是当我卸载并重新安装应用程序时,uid每次都会更改。存在某种方式让设备生成uid?如果每次用户卸载/重新安装应用程序生成新用户时,此功能的用途是什么?我知道它也存在getProviderId()方法,但在这种情况下为null。
这是我的代码:
public synchronized void getAnonymousUser(final OnAuthListener onAuthListener){
if(onAuthListener == null){
throw new IllegalArgumentException("listener cannot be null");
}
FirebaseUser currentUser = this.mAuth.getCurrentUser();
if(currentUser != null){
onAuthListener.getAnonymousUser(currentUser);
return;
}
this.mAuth.signInAnonymously().addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
onAuthListener.getAnonymousUser(mAuth.getCurrentUser());
}else {
onAuthListener.onError(new Exception("signInAnonymously no user exception"));
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
onAuthListener.onError(e);
}
});
}