2017-11-06 5 views
0

에서 get userID라는 새 사용자 inst를 생성 한 후, 점심 시간에 익명의 사용자 ID를 만들었지 만, 내 앱을 UN 설치 한 후 새로운 사용자로 새 ID를 만듭니다. 어떻게하면 UN 설치 전에 사용자 ID을 얻을 수 있습니까? 익명 로그인에Firebase

내 코드 : 응용 프로그램 설치 제거 이전 된 SharedPreferences에서

@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"); 
       } 
      } 
     }); 

    } 

답변

1

Firebase 인증을 사용하여 임시 익명 계정 만 생성하고 Firebase 인증에 사용할 수 있습니다. Anonymous authentication 계정이 응용 프로그램 제거를 통해 지속되지 않습니다. 응용 프로그램을 제거하면 해당 계정을 식별하는 익명 인증 토큰을 포함하여 로컬로 저장된 모든 항목이 삭제됩니다. 유감스럽게도 사용자에 대해 토큰을 쉽게 회수 할 수있는 방법은 없습니다. 그들은 자신의 데이터를 잃을 걱정없이 모든 기기에서 로그인 할 수 있도록

대신, 당신은 완벽하게 지원되는 계정 공급자 (Google, Fabcebook, Twitter 등)로 로그인하는 모든 사용자를 장려해야한다.

+0

고마워, 그래서 내 애플 리케이션에서 사용자 장치 ID를 가져다가 Firebase 인증을 사용하여 insted 데이터베이스에 넣어 것입니다 – droho

+0

그것은 또 다른 접근법이지만 당신은 Firebase 인증을 구현하는 것을 권합니다. –

+0

그래,하지만 내 애플 리케이션은 익명 로그인이 필요하다, 그래서 장치 ID를 생각하는 것이 가장 좋은 생각이다. 고마워. – droho

0

스토어의 ID입니다.

+0

Okey이지만 anonumous auth가 장치 ID에 연결되어 있으므로 deviceID가 데이터베이스에 있는지 ID를 확인하는 이유는 무엇입니까? – droho

관련 문제