[Flutter]PlatformException:12500/10 Google Sign-In using Firebase(Firebase로 구글 로그인 구현 시 에러)
인프런에서 Flutter 강의를 듣던 중, Firebase로 구글 로그인 구현을 하는데 PlatformException 에러가 계속 떴다... 하지만 몇 시간 삽질 끝에 겨우 해결!
혹시 나와 같은 불쌍한 사람들이 있을까봐 귀찮지만 적기로 했다!!
1. androidX.blarblar 에러 뜰 때
Flutter에서 Android X 관련 컴파일을 못 불러와서 그런 겁니다. 먼저 Android - app - build.gradle에 들어가셔서 multiDexEnabled = true 한 줄을 추가 해 줍니다.
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.flutter_practice1"
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled = true
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
(저 가운데 처럼)
그리고 Android - gradle.properties에 들어가셔서 android.useAndroidX = true/android.enableJetifier = true 이거 두 개를 추가 해 줍니다.
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX = true
android.enableJetifier = true
(요거 처럼)
2. Sdk 버전이 (너무 낮다/안 맞는다)고 에러 뜸
위의 첫 번째 사진에 minSdkVersion이랑 targetSdkVersion 보이실겁니다. 그걸 에러 코드에 맞게 수정하시고, 상단 메뉴바에 Tool - Sdk Manager 키셔서 관련 Sdk 다운로드 ㄱㄱ
3. 구글 로그인 버튼을 눌러도, 반짝거리고 아예 로그인 창이 안 뜰 때(AVD 쓰시는 경우)
AVD 버전이 낮아서 Play Store 실행 할 버전이 안 맞아서 그런겁니다!! AVD 삭제 하시고 다시 만드실 때, Sdk 버전을 한 28짜리로 선택하셔서 다시 만드세요.
4. PlatformException: ~~~:12500
이게 좀 골치아픕니다. 구글 개인정보를 이 앱에 가져오겠다~ 라는 권한이 필요한 실정인데, Google API Console 창에 들어가셔야 합니다.
https://console.developers.google.com/apis/
위 링크로 들어가셔서 상단에 프로젝트 선택을 꼭! Firebase에서 만든 프로젝트 클릭을 해 주세요. 그리고 가운데 보이는 탭 3개 중에, OAuth 동의 화면에 들어갑니다.
거기서 가운데에 지원 이메일에 Firebase 프로젝트 만들 때 로그인 했던 이메일 넣어주시구요(아마 자동으로 돼 있을겁니다) 밑에 승인된 도메인에 주소들을 넣어야 하는데...
이건 바로 요기에 있습니다
저기서 도메인 2개 복사하시고
여기서 도메인 2개 추가 해주시고, 밑에 3칸에 복사 해 줍시다.
아마 개인정보 동의? 같은 건 잘 뜰겁니다!
5. PlatformException:~~~~~ :10
전 이게 문제였습니다(...) 로그인 인증 방식이 추가가 안 돼있던 거였죠...
Firebase 콘솔 창 들어가셔서 Authentication 탭 들어가시면
저런 식으로 로그인 인증 방법을 설정 할 수가 있는데, Google 뿐만 아니라 이메일/비밀번호 도 활성화 해주셔야 합니다!!
전 마지막 5번 에러 때문에 몇 시간을 날렸네요... 덴장.. 여튼 성공하셔서 앱에서 로그인이 됐다면, 바로 위에 사진의 사용자 탭에서 로그인 한 계정들 리스트가 쭉 뜹니다.
으어앙ㄱ