일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 안드로이드 구글 로그인
- firebase auth
- 루즈 커플링
- unity 구글 로그인
- google sign-in
- 구글로그인
- 유니티 구글 연동
- c# 포맷
- c#
- google 로그인
- 이벤트 기반 아키텍처
- unity
- 구독패턴
- 개발
- 실무코딩
- 프로그래밍
- 구글 로그인 시도
- 웹서버 만들기
- 문자열 포맷
- cshop
- unity google 로그인
- 2차방정식
- switch 활용
- C# Switch
- 구글 로그인 연동
- 시간더하기
- microsoft.entityframeworkcore.design
- c# 시간계산
- 구글로그인 시도
- 숫자 포맷
- Today
- Total
Debug & Think
[Unity] 구글 로그인 연동 시도 -2(완료 포함) 본문
본 내용은 Unity로 구글 로그인 적용하면서 생겼던 일들을 적어두면서 진행했던 내용이다.
개발하면서 적은 노션형식 그대로 진행 가져와서 정리한 내용이며,
대략 1달 정도 삽질하며 노력한 것을 기록하기 위한 글이다.
연동 적용된 방법은 ⬇️ 아래 링크에서 확인할 수 있다.
Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)
Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)
Unity 2022.3.3 + Firebase Auth + Google Sign-In 연동 기록1. 개발 환경Unity 버전: 2022.3.3f1 (LTS)Firebase Auth Unity 패키지: FirebaseAuth_11.6.0Google Sign-In 플러그인: google-signin-plugin-1.0.4 (Parse 폴더 제외 후 임포트)빌드
debug-think.tistory.com
25.07.22~24
참고.
https://developer-growth-history.tistory.com/82
https://b-note.tistory.com/150
본프로젝트에서 진행하다가 1주일정도 고생해서 빈프로젝트에서 다시 시작.
🟦 Firbase Import
1. Firebase Unity SDK 다운

2. Auth unitypackage import

🟦 GoogleImport
1. Google-signin-unity 다운
Release Version 1.0.4 · googlesamples/google-signin-unity

2. unitypackage import
프로젝트에 임포트하면 Unity.Task 관련해서 충돌 에러가 발생하는데 Assets > Parse 폴더를 지우면 해결 가능하다.
설치 후 패키지 문제 없는지 테스트 빌드를 진행
- Enable Android Auto-resolution → enable


기본적으로 안드로이드 개발환경 자체가 다양한 종속성을 가지고 있습니다. 그래서 어떤 라이브러리를 이용하고자 한다면 그 라이브러리에 포함되어 있는 다른 라이브러리가 존재합니다. 이와 같이 다양한 라이브러리가 얽히고 섥히는 관계를 종속성이라고 하는데, 이러한 종속성을 처리하면서 유니티 안에서 실질적으로 안드로이드 배포가 가능하도록 Firebase Library를 셋팅해주는 과정이라고 생각하면 됩니다.
- 에러

1. 누락된 폴더 수동으로 생성
먼저, Unity 프로젝트 폴더에서 Assets/Plugins/Android 폴더가 있는지 확인하고, 없다면 해당 폴더를 수동으로 만들어 주세요.
- 경로: Assets/Plugins/Android
- 폴더를 생성한 후, Unity 에디터에서 다시 Android Resolver를 실행하세요:


만약 위와 같이 Enable 팝업이 안뜨면 수동으로 설정
2. Gradle 템플릿 사용 설정 확인
Unity에서 커스텀 Gradle 템플릿을 사용하려면 설정을 변경해야 합니다.
- Unity 에디터에서 File > Build Settings로 이동한 후, Player Settings를 클릭합니다.
- Android 탭을 선택하고, Publishing Settings 섹션 아래에서 Custom Gradle Template 옵션을 활성화하세요.
- 이 옵션을 활성화하면, Unity가 mainTemplate.gradle 파일을 자동으로 프로젝트 폴더로 복사하려고 시도합니다.
다시 빌드 실행.
- 또 에러 발생.

현재 안드로이드 32로 돼있는데 34 이상으로 설정해야 한다는 경고

그러고 빌드 누르면 update 하라는 팝업이 뜬다.

- 또 에러 발생

- Win32Exception: ApplicationName='powershell', CommandLine='-ExecutionPolicy Bypass -File "C:/Program Files/Unity/Hub/Editor/2022.3.3f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\RunElevatedCommand.ps1" -ArgumentList Ignored "C:\Program Files\Unity\Hub\Editor\2022.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\6.0\bin\sdkmanager.bat" "C:\Program Files\Unity\Hub\Editor\2022.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK" ""platforms;android-36"" "C:\Users\gksmf\Desktop\GitFork\ThirdPartyConnect_Copy\Temp\AndroidSDKTool"', Native error= 지정된 파일을 찾을 수 없습니다.
sdkmanager.bat 파일을 찾을 수 없다는 것
1. sdkmanager 존재 확인.

2.관리자 권한으로 unity hub 실행해서 빌드해도 에러 발생.

3. PowerShell 실행 정책 변경
- PowerShell을 관리자 권한으로 실행합니다.
- 시작 메뉴에서 PowerShell을 검색한 후, 마우스 오른쪽 버튼을 클릭하고 **"관리자 권한으로 실행"**을 선택합니다.
- PowerShell에서 다음 명령어를 입력하여 실행 정책을 변경합니다:
- MachinePolicy: 시스템 전체에 대한 정책.
- UserPolicy: 사용자에 대한 정책.
- Process: 현재 PowerShell 프로세스에 대한 정책.
- CurrentUser: 현재 사용자에 대한 정책.
- LocalMachine: 로컬 머신에 대한 정책.
- CurrentUser만 했는데 혹시 몰라서 LocalMachine도 변경
4. 그래도 에러 발생
돌이켜보니 sdkmanager.bat 를 찾으려고 하는건데 Unity에서는 경로가 SDK까지만 돼있었고,
실제 파일은 더 하위에 있는것을 확인

경로 바꿔주고


5. 그래도 에러 발생
unity 에서 자동으로 api 다운받게 하고 싶어서 1,2,3번 다 해봤지만 도저히 안되길래
4번 PowerShell로 직접 실행해서 다운 완료.
체크리스트 설명
체크리스트 | 설명 |
1. RunElevatedCommand.ps1 존재 여부 | Tools 폴더에 없으면 Android Build Support 재설치 |
2. cmdline-tools/latest/bin/sdkmanager.bat | 중첩되지 않도록 정확히 구성해야 함 |
3. Unity 관리자 권한으로 실행 | 경로 접근 및 PowerShell 실행 오류 방지 |
4. PowerShell 직접 실행 | 경로가 제대로 되었는지 확인 가능 |


이후 다시 빌드 실행. 또 에러 발생
cd "C:\Users\{사용자이름}\AppData\Local\Android\Sdk\cmdline-tools\latest\bin"
sdkmanager.bat --list

🔍 문제 요약
Unity가 내부적으로 사용하는 Android 빌드 도구(sdkmanager, build-tools, gradle 등)는 Java 17 이상의 버전이 필요합니다.
하지만 현재 시스템에 설치된 Java 버전이 17 미만이라 발생하는 에러입니다.
✔️ 1. Java 17 설치
공식 OpenJDK에서 Java 17을 설치합니다:
- OpenJDK 17 다운로드 (Adoptium)
설치 시 환경변수 PATH에 자동으로 추가됩니다.
설치 후 PowerShell이나 명령 프롬프트에서 아래 명령어로 확인합니다:
java -version

Unity Android JDK 경로 변경

❌ 오류 내용 요약:
"Incompatible Java version '17'"Unity의 Android 빌드는 JDK 11 (64비트)만 지원하며,
현재 설정한 JDK 17은 지원되지 않아서 거부된다는 뜻입니다.
⚠️ 주요 포인트
- Unity 2022.3.3f1 기준:
- 그리고 JRE만 설치된 경우도 안 됩니다. 반드시 JDK가 설치되어야 합니다.
✅ 해결 방법
1. JDK 11 설치하기
가장 안정적인 방법입니다:
- Eclipse Temurin (Adoptium) JDK 11 64bit 다운로드
- 설치 시: "JDK (not JRE)" 선택
- 설치 경로 예시: C:\Program Files\Eclipse Adoptium\jdk-11.0.22.7-hotspot
2. Unity에 JDK 11 경로 지정
- Unity Editor > Edit > Preferences > External Tools
- "JDK" 체크 해제
- 직접 설치한 JDK 11 경로 지정
💡 참고
- Unity가 내장 OpenJDK를 제공하긴 하지만, 외부 JDK 11이 필요한 상황이라면 수동 설정이 필요합니다.
- JDK 17은 Gradle 단독 사용이나 일부 최신 Android Studio에서만 권장됩니다.
✅ 결론:
JDK 17은 현재 Unity에서 Android 빌드용으로 호환되지 않습니다.
JDK 11 (64bit, JDK 전체) 를 설치하고 Unity에 연결하세요.
✅ 올바른 버전 조합
🔧 Firebase Unity SDK
- 버전 12.8.0 또는 12.7.0을 사용하세요.
🔧 Google Sign-In Plugin
- google-signin-plugin‑1.0.3.unitypackage 사용을 권장합니다.
🔧 External Dependency Manager (Play Services Resolver)
- v1.2.177 이상 사용하세요. Firebase SDK 12.x에 포함되어 있으니 따로 추가 설치하지 않아도 됩니다.
📦 구성 정리
항목
|
권장버전
|
Firebase Unity SDK
|
12.8.0
|
Google Sign-In Plugin
|
1.0.3
|
External Dependency Manager
|
1.2.177+
|
Unity Android 빌드 JDK
|
JDK 11 (64-bit)
|
적용 완료된 방법은 ⬇️ 아래 링크에서 확인할 수 있다.
Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)
Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)
Unity 2022.3.3 + Firebase Auth + Google Sign-In 연동 기록1. 개발 환경Unity 버전: 2022.3.3f1 (LTS)Firebase Auth Unity 패키지: FirebaseAuth_11.6.0Google Sign-In 플러그인: google-signin-plugin-1.0.4 (Parse 폴더 제외 후 임포트)빌드
debug-think.tistory.com