인프런 커뮤니티 질문&답변
익명 인증 관련 질문있습니다.
작성
·
467
0
영상과 같이 따라하는중입니다.
영상에 나오는
try {
}
castch ( e : Exception) {
log.e("SPLASH", "회원가입 시켜줘야함")
}
까지는 작동이 잘 되는걸 로그로 확인했습니다.
그 후
auth.signInAnonymously()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "signInAnonymously:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "signInAnonymously:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }이 부분을 가져와서
auth.signInAnonymously()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
            Log.e("SPLASH", "비회원로그인성공")
            } else {
            Log.e("SPLASH", "비회원로그인성공")
            }
        }이런 식으로 디버깅해봐도 로그에는 if else문이 들어오기전에 있는 회원가입이 필요합니다. 의 내용까지만 log에 찍힙니다.
auth.signInAnonymously() 함수부터는 작동이 되지 않는걸로 판단이 되는데 혹시 이럴땐 어떻게 해야 하는지 알수있을까요?
아니면 같은 증상을 해결하신분 있으신가요?
도움 부탁드립니다
답변 2
1
개복치개발자
지식공유자
잘 하신 것으로 보이는데... 아래 2가지를 함께 확인해볼까요?
auth.signInAnonymously()
                .addOnCompleteListener(this)위의 코드를 아래와 같이 바뀌었을 때 로그가 어떻게 나오는지
auth.signInAnonymously()
                .addOnCompleteListener(this@MainActivity)
- 아래 코드를 try / catch 범위 밖으로 뺏을 때 로그가 어떻게 나오는지 
auth.signInAnonymously()
                .addOnCompleteListener(this) { task ->
                    if (task.isSuccessful) {
                        Log.e("SPLASH", "비회원 로그인 성공")
                        Toast.makeText(this, "비회원 로그인 성공",
                            Toast.LENGTH_SHORT).show()
                        Handler().postDelayed({
                            startActivity(Intent(this, MainActivity::class.java))
                            finish()
                        }, 3000)
                        val user = auth.currentUser
                    } else {
                        Log.e("SPLASH", "비회원 로그인 실패")
                        Toast.makeText(this, "비회원 로그인 실패.",
                            Toast.LENGTH_SHORT).show()
                    }
                }결과 공유해주시겠어요?
0

kumin123
질문자
늦은 시간까지 답변해주셔서 감사합니다.
우선 이 부분은 해결이 되었습니다.
왜인지는 모르겠는데 if / else 쪽이 작동하는데 시간이 굉장히 오래 걸리는것이 문제였던것 같습니다.
D/EGL_emulation: app_time_stats: avg=526.47ms min=21.20ms max=1258.37ms count=3
대충 이런식 로그가 뜨긴 하던데 작동 시키고 구글링몇십분 정도 하다보니 넘어가졌습니다.
신경써주시고 일일이 체크해주셔서 감사드립니당:)







현재 사용한 코드고 if(task.isSuccessful)과 else부분이 작동이 안되는것 같아
log.e로 찍었습니다.