안녕하세요 아이티 학부생 호입니다.

오늘은 플러터 flutter로 구글 로그인 혹은 firebase연결을 하는 과정과 그과정에 서 발생 되는 오류에 대해서 알아보겠습니다.



과정

1. firebase가입

2. 프로젝트 생성

3. 코드 작성 (이부분은 chat gpt가 최고지요?)



4. 가장 중요한 세팅과정

web의 경우 <meta name="google-signin-client_id" content="너의 아이디 넣기">

Google API 콘솔에서 OAuth 2.0 클라이언트 ID 생성하기:


Google API 콘솔로 이동합니다.

원하는 프로젝트를 선택하거나 새 프로젝트를 생성합니다.

'사용자 인증 정보' 메뉴로 이동한 후 'OAuth 2.0 클라이언트 ID'를 생성합니다.

애플리케이션 유형을 '웹 애플리케이션'으로 선택하고 필요한 설정을 완료합니다.

생성된 클라이언트 ID를 복사합니다.

Flutter 웹 앱에 클라이언트 ID 설정하기:

클라이언트 ID를 Flutter 웹 앱에 추가하는 방법은 두 가지입니다.


HTML 메타 태그 사용:

web/index.html 파일을 열고 <head> 섹션 안에 다음과 같은 메타 태그를 추가합니다. YOUR_CLIENT_ID를 실제 클라이언트 ID로 대체합니다.


5. 안드로이드의 경우

 flutter cli를 설치해서 저의 안드로이드스튜디오 프로젝트와 firebase를 연결하는 과정을 또 진행했습니다. 위에서 연결 한번 하고 끝이 아닌가? 이건 정확한 방법인지는 모르겠습니다. firebase페이지에서도 연결하고 firebasecli에서 또 연결하니 문제 없이 구글 로그인이 되더라고요 


6. 패키지 네임을 잘 작성하기 

firebase에 제 프로젝트 관련 정보를 넣을때 저는 패키지 네임을 com.company.application 작성을 않하고 com.company 만 작성해서 오류가 났습니다.

예전에는 com.company 이렇게만 적었던거 같은데? 아닌가? 아무튼 풀로 다 적어주시길 바랍니다.

* What went wrong:

Execution failed for task ':app:mapDebugSourceSetPaths'.

> Error while evaluating property 'extraGeneratedResDir' of task ':app:mapDebugSourceSetPaths'

   > Failed to calculate the value of task ':app:mapDebugSourceSetPaths' property 'extraGeneratedResDir'.

      > Querying the mapped value of provider(java.util.Set) before task ':app:processDebugGoogleServices' has completed is not supported


* Try:

> Run with --stacktrace option to get the stack trace.

> Run with --info or --debug option to get more log output.

> Run with --scan to get full insights.


* Get more help at https://help.gradle.org


BUILD FAILED in 13s

Exception: Gradle task assembleDebug failed with exit code 1

패키지 네임 잘 작성하시길 바랍니다.