我的应用程序在启动期间创建匿名用户 ID,但在卸载之后我的应用程序使用新 ID 创建新用户。如何获取卸载之前的userID?
我的匿名登录代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mAuth = FirebaseAuth.getInstance();
if(mAuth.getCurrentUser() == null){
createUser();
}else{
user = mAuth.getCurrentUser();
}
}
public void createUser() {
mAuth.signInAnonymously().addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Log.d("TAG", "signIn: succes");
}else{
Log.w("TAG", "signIn: fail");
}
}
});
}
最佳答案
您可以使用 Firebase 身份验证创建并仅使用临时匿名帐户来通过 Firebase 进行身份验证。 匿名身份验证
帐户在应用程序卸载后不会保留。卸载应用程序时,本地保存的所有内容都将被删除,包括标识该帐户的匿名身份验证 token 。 不幸的是,没有简单的方法可以为用户回收该 token 。
相反,您应该鼓励所有用户使用受支持的帐户提供商(Google
、Fabcebook
、Twitter
等)完全登录)以便他们可以从所有设备登录,而不必担心丢失数据。
关于java - 卸载应用程序后创建新用户而不是从 Firebase 获取用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136603/