我有应用程序,它在午餐时创建匿名用户ID,但在UN安装我的应用程序后创建具有新ID的新用户。如何获得UN-install之前的 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");
}
}
});
}
答案 0 :(得分:1)
您可以使用Firebase身份验证创建和使用临时匿名帐户,以便通过Firebase进行身份验证。 Anonymous authentication
个帐户不会在应用程序卸载过程中持续存在。卸载应用程序时,将删除本地保存的所有内容,包括标识该帐户的匿名身份验证令牌。 不幸的是,没有简单的方法可以为用户回收该令牌。
相反,您应该鼓励所有用户使用受支持的帐户提供商(Google
,Fabcebook
,Twitter
等)完全登录,以便他们可以从所有用户登录他们的设备无需担心丢失数据。
答案 1 :(得分:0)
在卸载应用之前将ID存储在SharedPreferences中。