卸载应用后,创建从Firebase获取用户ID的新用户

时间:2017-11-06 12:01:42

标签: java android firebase firebase-authentication

我有应用程序,它在午餐时创建匿名用户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");
                }
            }
        });

    }

2 个答案:

答案 0 :(得分:1)

您可以使用Firebase身份验证创建和使用临时匿名帐户,以便通过Firebase进行身份验证。 Anonymous authentication个帐户不会在应用程序卸载过程中持续存在。卸载应用程序时,将删除本地保存的所有内容,包括标识该帐户的匿名身份验证令牌。 不幸的是,没有简单的方法可以为用户回收该令牌

相反,您应该鼓励所有用户使用受支持的帐户提供商(GoogleFabcebookTwitter等)完全登录,以便他们可以从所有用户登录他们的设备无需担心丢失数据。

答案 1 :(得分:0)

在卸载应用之前将ID存储在SharedPreferences中。