인디노트

Firebase 의 Google Login 기능 개발시 default_web_client_id 는 어디 있을까. 본문

소스 팁/Java, Android, Kotlin

Firebase 의 Google Login 기능 개발시 default_web_client_id 는 어디 있을까.

인디개발자 2021. 7. 25. 07:41

구글 파이어베이스의 구글 로그인을 개발하는데 하기와 같은 코드를 작성하게 된다.

구글에서 코드 스니펫을 가져와서 코딩을 하면 하기의 코드처럼 된다.

이때 R.string.default_web_client_id 라는 값이 분명히 String 리소스에 넣어줘야 하는데 이 값을 어떻게 넣어줘야 할지 막막했다.

인터넷에 많은 시간을 들여 검색해보면 하드코딩을 해라 뭐해라 어쩐다.

하지만 실제 해결책은 그게 아니다.

분명히 구글 파이어베이스에서 가져온 google-services.json 파일이 있고 이것을 app 아래에 복사해 넣었을 것이다.

그러면 그냥 Rebuild Project 를 하면 자동을 values.xml 에 빌드되어 들어간다. (리소스 레벨의 xml 이 아닌 generated 된 xml)

이러면 당연히 빌드가 완성되면 앱의 실행도 동작한다.

인터넷의 많은 자료들이 너무 엉뚱해서 바로 잡고자 내용 남긴다.

 

    private fun initFirebase() {
        // [START config_signin]
        // Configure Google Sign In
        val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build()

        googleSignInClient = GoogleSignIn.getClient(this, gso)
        // [END config_signin]


        // [START initialize_auth]
        // Initialize Firebase Auth
        auth = Firebase.auth
        // [END initialize_auth]
    }

 

하기 그림과 같이 values.xml 이 generated 되면서 여기에 default_web_client_id 가 자동으로 들어가 있음을 알 수 있다.

반응형
Comments