구글 플레이 게임즈 유니티 플러그인을 이용하여 게임을 만드려했습니다.
 
그에 앞서 유니티 프로젝트 셋팅 ( 플러그인 임포팅 ), 샘플 앱, 각 기능 스크립트를 분석 및 파악 하고자 
샘플 프로젝트를 실행하려 했습니다.
 
근데 샘플앱 실행하는것 조차, 별의별 에러 때문에 진행속도가 굉장히 더뎠습니다.
 
ClassNotFoundException : com.google.games.bridge.TokenFragment 
 Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED 등등 
 
 
그래서 프로젝트에 플러그인 임포팅, 샘플 앱 빌드하는 과정을 적어봤습니다.
 
잘못된 부분 및  질문 코멘트 남겨주시면 성심껏 답변 하겠습니다!
 
 
[버전정보 / Verstion Information]
Unity 2018.3.11f1 / 
play-games-plugin-for-unity  / v0.9.64
unity-jar-resolver / v1.2.105.0
 
 
 
 
1. 유니티 빌드 셋팅 / Unity Build Settings
 [Build Settings]
[Build Settings]
A.빌드 셋팅 / Build Settings
    A.Build System : Gradle
    B.Build App Bundle : Enable
 
 
 
 [Player Settings]
[Player Settings]
 
B. PlayerSettings
    a.Other Settings >Configuration : 
        - Scripting Backend : IL2CPP
        - Scripting Runtime Version : .NET 4.x Equiva
        - Target Architectures : ARMv7, ARM64,x86 : enable
 
     b. Resolution and  Presentation > Orientation
        - Default Orientation > Landscape Left
   
 
 
 
 
 
 
 
2. "GooglePlayGamesPlugin" 프로젝트로 불러오기  / Importing the Google Play Games Plugin Pakcage File
 
 
A. playGames Plug in 다운로드 / Download
 
> 필자는 아래 링크에 프로젝트 용량이 약1.7기가 정도 되니 필요한 것만 다운로드
> current-build 경로로 이동하여 unity package file 다운로드
 
(2019년 09월 13일 기준 최신버전 v0.9.64)
 
https://github.com/playgameservices/play-games-plugin-for-unity
 
playgameservices/play-games-plugin-for-unity
Google Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-unity development by creating an account on GitHub.
github.com
 
 
B. PlayGame 플러그인 불러오기 / Import playGame Plug in
>Import Package > Custom Package.. > 다운받은 unity package file
*Android Dependency가 Resolving 될 때 에러 발생하는지 체크.
 
(정보 1)
*이 때, 같이 딸려오는(?) Google Player Services Resolver v1.2.105.0 이다.
과거 Resovler 버전과 관련한 이슈가 있었지만 현재는 발견되지 않았으니 패스해도 무관.
https://github.com/googlesamples/unity-jar-resolver/issues/208
 
ClassNotFoundException com.google.games.bridge.TokenFragment after updating from version 1.2.104 to 1.2.108 · Issue #208 · googl
ClassNotFoundException happens on startup after updating to 108. It look to be related to that the jar/aar files are now compiled in the gradle file instead of residing in the plugin folder. We tri...
github.com
 
(필수 아님)
* 최신버전을 쓰고 싶다면...
2019년 9월 13일 기준 : v1.2.124
playGames Plugin에 딸려오는 v1.2.105.0 써도 무관.
https://github.com/googlesamples/unity-jar-resolver
 
 
 
 
 
 
3. "Play Games 샘플 씬 "  불러오기
A.샘플 씬 다운로드
>플러그인 가이드 내용 중, 샘플 씬을 참조하면 빠르게 파악이 가능하다함.
>아래 링크에서 "/samples/" 경로로 이동하여, "CubicPliot"를 다운로드한다.
https://github.com/playgameservices/play-games-plugin-for-unity
 
 
B.샘플 씬 불러오기
>Import Package > Custom Package.. > 다운받은 Sample Scene
 
 
4."Google Play Console"에서 "애플리케이션" 생성
일반적으로 진행하는 스토어 정보, 앱 버전 ( apk 업로드 ) 등등 정보들을 입력하여 "출시 준비" 상태로 만든다.
 
 
 
 
 
 
5."Google Play Console"에서 게임서비스를 추가
4번 항목과 같이 생성 및 게임 세부정보, 연결된 앱 등 과정을 진행한다.
 
 
 
 
 
 
 
 
6."Google 클라우드 플랫폼"에서 사용자 인증정보 생성하기
 
A. Google 클라우드 플랫폼으로 이동 및 사용자 인증 메뉴
4,5번 항목을 진행했다면 
아래 웹페이지에 해당 프로젝트 항목이 생성되어 있음.
https://console.developers.google.com/apis/dashboard?project=secondgood-97015515&hl=ko
 
Google Cloud Platform
하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.
accounts.google.com
 
 Google 클라우드 플랫폼 웹페이지 내에 생성된 프로젝트 항목
Google 클라우드 플랫폼 웹페이지 내에 생성된 프로젝트 항목
 
"해당 프로젝트 선택" >>> "API 및 서비스" >>> "사용자 인증정보"으로 이동하면
OAuth 2.0 클라언트 인증정보 1개가 존재 할 것 인데, 
이것은 "앱 서명 인증서" 이다.
 
 
 
B. OAuth 클라이언트 ID ( 안드로이드) 사용자 인증 정보 만들기
 
a.업로드 인증서 
앱에서 Play Games로그인을 정상적으로 처리하기 위해 필요한 것은  
"업로드 인증서 지문" 해시값으로 만든 "인증 정보"이다. 
 
b. 인증서 생성
"사용자 인증 정보 만들기"  >>>> " OAuth 클라이언트 ID " >> "Android"로 이동.
 
- 서명 인증서 지문 :
 Google Play Console >>> 해당 애플리케이션 >>> 앱 서명 >>> 업로드 인증서 >>> "SHA-1 인증서 지문"을 복사하여 "SHA1" 문자열을 제거하고 붙혀넣는다.
 
-패키지 이름 : 유니티 안드로이드 패키지명 
 
 
 
C.OAuth 클라이언트 ID ( 웹 ) 인증서 생성
- "사용자 인증 정보 만들기"  >>>> " OAuth 클라이언트 ID " >> "웹 어플리케이션"로 이동.
- 유니티 프로젝트 내에 입력한 정보이니 생성 후 Client ID를 복사해둔다.
 
 
 
 
 
 
 
7. 유니티 프로젝트 내에 "Google Play Games" Set Up 설정
A. Google Play Games 설정값 메뉴 
Unity Editor > Window > Google Play Games > Setup > Android Configuration
 
 
B. Property 입력
 a. Resource Definition : 
  Google Console >>> Game Service >>>"리더보드 and 업적" 생성 >>>리더보드, 업적 둘중에 아무거나 선택하여 리소스 받기 >>> Android 항목 복사하여 붙혀넣기
 
  ** 게임 변경사항이 발생 하였으니, 게임 재출시 必
 
 
 b. Web App Client ID ( Optional ) : 
     6."Google 클라우드 플랫폼"에서 사용자 인증정보 생성하기 
           B. OAuth 클라이언트 ID ( 안드로이드) 사용자 인증 정보 만들기 
               C.OAuth 클라이언트 ID ( 웹 ) 인증서 생성               에서 생성한 Client ID 복사 붙혀넣기
 
 
 
8.앱 빌드 후 확인
Scene In Build 목록에
 
1_MenuScene
2_GameplayScene
3_FinaleScene 씬을 차례대로 추가합니다.
 
 
 
 
 
 
 
 
 
 
 
다음 글에서는 각 기능 ( 로그인 등 )에 대한 스크립트을 분석하려 합니다.
 I will see the script(login...or anything. ).I'll see how the features work in the next article.
 
 
+ 2020-04-08
- 구글 플레이 콘솔, 앱 내부테스트 배포 오류
> 아래 오류 캡처
 
 
> 해결방안, 안드로이드 공식홈
https://developer.android.com/distribute/best-practices/develop/64-bit
 
64비트 아키텍처 지원  |  Google Play  |  Android Developers
2019년 8월 1일부터 Google Play에 게시된 앱에서는 64비트 아키텍처를 지원해야 합니다. 64비트 CPU는 사용자에게 더 빠르고 풍부한 환경을 제공합니다. 앱의 64비트 버전을 추가하면 성능이 향상되고 향후 혁신이 가능해지며 64비트 전용 하드웨어가 장착된 기기를 설정할 수 있습니다. 이 가이드에서는 32비트 앱에서 64비트 기기를 지원할 준비가 되었는지 확인하기 위해 현재 취할 수 있는 단계를 설명합니다. 앱 액세스하기 앱에서 라이브러리나
developer.android.com
 
 
 
+ 2020-04-08
[GPGS 로그인 안됨]
> 구글 플레이 콘솔 -> 게임 서비스 -> 게임 세부 정보 -> 저장된 게임 사용 -> 게임 출시
 
 
+2020-04-12
[게임서비스 앱 출시 후에 GPGS 로그인 안됨]
* 원인 : 명확하지 않음
* 조치 : 구글 콘솔앱과 연결된 구글 Apis 프로젝트의 SHA-1 인증서 디지털 지문 변경
기존 "업로드 인증서"에서 "앱 서명 인증서"로 변경
1. 구글 콘솔 > 해당앱 >  출시관리 > 앱서명 >  앱 서명 인증서 > SHA1지문을 복사
2. 구글 APIs > 앱과 연결된 프로젝트 > API 및 서비스 > 사용자 인증 정보 >  OAuth2.0 클라이언트 ID >  안드로이드 클라이언트 > 수정 > SHA-1 인증서 디지털 지문 > 복사한 SHA-1값 으로 변경 > 저장