Unity + GPGS 플러그인 v11.01 관련 삽질 기록(GPGS Unity Plugin v11.01 Error Solve)

Unity + Google Play Games Services 관련 삽질 기록


삽질한 개발환경
윈도우 11
유니티 GPGS 플러그인 버전 v11.01
유니티 버전 2020.3.36f1


Unity GPGS 플러그인(play-games-plugin-for-unity)을 사용해서 구현하다 발생한 삽질 기록

1. 플러그인 설치 후 resolve 오류

1) dependency 관련 오류
Failed to fetch the following dependencies:
com.google.games:gpgs-plugin-support:0.11.01

해결방법

* Open the file Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml
* change line `Packages/com.google.play.games/Editor/m2repository` to `Assets/GooglePlayGames/com.google.play.games/Editor/m2repository`
* run Android Force Resolve

=> GooglePlayGamesPluginDependencies.xml 파일을 열어서 라인 편집


2) JAVA_HOME 관련 오류
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

해경방법1)

Edit->Preferences->External Tools
Uncheck Android SDK Tools Installed with Unity (recommended)
Press Browse -> It might update the file path
Recheck Android SDK Tools Installed with Unity (recommended)

유니티 Edit->Preferences->External Tools 메뉴에 가서 Android SDK 경로 관련 내용을 체크 해제 했다가 다시 체크하면 해결되는 경우가 있음

해결방법2)
해결방법1 로 해결이 제대로 안되서 (오류가 해결되었다가 다시 발생)
그냥 JAVA_HOME 경로 환경변수 설정으로 해결함
유니티와 같이 설치된 OpenJDK 를 임의 경로로 복사해서 JAVA_HOME 환경 변수 설정함

2. 플러그인 버전에 따른 차이로 인한 오류, 차이점

github 에서 제공하는 플러그인의 버전이 v11.01 부터
Play Games Services v1 SDK 에서 Play Games Services v2 SDK 로 바뀜

플러그인 v11.01 을 사용하면서 생기는 문제는 로그인, 로그아웃 관련 변경이 있었다

1) 로그인 방법이 바뀌어서 기존 소스들이 오류가 나서 최신플러그인을 사용한다면 그에 맞게 수정해야 함

2) 로그아웃 메서드를 지원 하지 않아서 로그아웃을 인게임 구현할 수 없어서 아래 방법으로 로그아웃 해야 함
 - 안드로이드 폰에서 Play Games 앱 실행(시스템앱)
 - 설정 > 게임 계정 변경 > 하단 게임 선택 해서 로그아웃

3) 플러그인과 같이 제공되는 샘플 SmokeTest 의 샘플코드를 활용하기

4) Play Games Services v1 SDK 를 사용하려면 플러그인 버전을 v10.14 로 낮춰서 해당 버전 기준으로 작성된 튜토리얼이나 코드를 활용하는 방법이 있다

3. GPGS 로그인 테스트 과정 오류

로그인을 테스트 하면서 오류 로그를 몇개 봤는데
1) 로그캣에서 본 오류
SignInRequest: Setting result error status code to: 16
2) 플러그인의 SmokeTest 샘플코드를 사용한 경우 본 로그인 오류
*** Failed to authenticate with Canceled

위와 같은 오류 로그를 본 경우 원인 + 해결방법

원인
1) GPGS 관련 테스트인 경우 유니티 에디터 에서는 테스트 할 수 없음
2) 임시 상태의 앱(출시전)에서 GPGS 관련 테스트를 하려면 테스터로 등록해야 한다

해결방법
1) 실제 안드로이드 디바이스에 넣어서 테스트 하거나 ADB 를 사용해서 에뮬레이터로 테스트 해야함. (실제 스마트폰이 또는 Bluestacks 나 AVD(Android Virtual Device) 같은거...)
2) 테스트 하려는 구글 아이디를 Play Console 에 테스터에 꼭 등록을 해야함. (Play Console 로그인 > 앱 선택 > 메뉴의 Play 게임즈 서비스 > 설정 및 관리 > 테스터)




댓글

이 블로그의 인기 게시물

Aseprite 스프라이트 슬라이스해서 개별로 저장 하는방법 ( How to save sprite split in Aseprite )

Unity Google Play Games Services 연동 오류로 인한 삽질 기록

Unity3D 에서 당신의 Pixel Art 게임을 Pixel Perfect 하게 만들기